在规则中使用 php 会话值进行自定义 jquery 验证

Posted

技术标签:

【中文标题】在规则中使用 php 会话值进行自定义 jquery 验证【英文标题】:custom jquery validation with php session value in rule 【发布时间】:2020-12-11 05:53:20 【问题描述】:

我创建了一个打印 pdf 的系统。它基于一种购物车。选择pdf,选择要打印多少次pdf(1-10)。在打印队列(购物车)中,您可以单击一个按钮,然后在 1 个输入字段中输入一个逗号分隔的字符串,其中包含最大打印数量的名称。然后将打印每个 pdf 和用户名。如果名称少于打印数量,则剩余的打印件将不带名称打印。我需要对此输入字段进行某种验证。

例如。 打印数量 = 5 有效字符串:name1,name2,name3,name4,name5 有效字符串:name1,name2,name3

我在一个页面中加载 jquery-3.5.1.js 和 jquery-validation-1.19.2。

问题一:如何获取规则“max_user_names: [numberofprints]”中的php $session['number'] 以便在max_user_name 方法中使用?

我认为实际的验证可以通过两种方式完成:

计算逗号的个数,如果 "number > numberofcommas" 为真,则字符串有效 要么: 拆分字符串并计算值,如果“number => numberofvalues”为真,则字符串有效。

问题2:一个比另一个更好吗?

$.validator.addMethod('max_user_names', function(value, element, params) 
        return validationcode
    , 'to many names');
    
    
    
$("#NamesModalForm").validate(
    rules: 
        user_names: 
            required: true,
            max_user_names: [numberofprints]
        ,
    ,
    messages: 
        user_names: 
            required: "Enter a value"
        ,
    
);

【问题讨论】:

【参考方案1】:

进一步阅读后,我设法用下一个代码修复它:

$.validator.addMethod('max_user_names', function(value, element) 
        var nameArr = value.split(',');
        var nameArrLength = nameArr.length
        return parseInt(nameArrLength) <= parseInt($("#quantity").val());

    , 'to many names');

【讨论】:

以上是关于在规则中使用 php 会话值进行自定义 jquery 验证的主要内容,如果未能解决你的问题,请参考以下文章

SQLite 自定义函数,聚合,排序规则

自定义destoon6.0的地址生成规则

PHP Wordpress:在一个会话变量中返回所有自定义字段

如何在 APC 缓存中存储 PHP 会话?

CakePHP 3自定义验证:如何在编辑期间将新值与旧值进行比较?

jQuery 验证器和使用 AJAX 的自定义规则