【问题标题】:How to use custom function in jQuery Validation Plugin [duplicate]如何在 jQuery 验证插件中使用自定义函数 [重复]
【发布时间】:2019-06-05 16:53:46
【问题描述】:

我正在研究一个自定义规则(jQuery 验证插件),它检查字符串(输入)的第一个和最后一个字母。

规则:用户不能进入。或 _ 在输入的开头或结尾。

我用纯 JavaScript 知识编写了一个函数。我不知道如何使用这个jQuery插件中的功能!

我的代码:

    var text = document.getElementById('UserName').value;
    var firstChar = text.slice(0, 1);
    var lastChar = text.slice(-1);

    function validUser() {

        if (firstChar === '.' || firstChar === '_' || lastChar === '.' || lastChar === '_') {
            return true;
        } else {
            return false;
        }

    }

我看过这个链接:https://jqueryvalidation.org/jQuery.validator.addMethod/

但我仍然不知道如何使用自己的代码。

【问题讨论】:

  • 请注意,如果用户名错误,您的函数将返回 true,否则返回 false。这是违反直觉的。
  • 请不要对无法运行演示的不完整代码使用代码片段功能。已编辑。谢谢。

标签: jquery jquery-validate


【解决方案1】:

根据您链接的库的文档https://jqueryvalidation.org/jQuery.validator.addMethod/

这样定义,

jQuery.validator.addMethod("validUser", function(value, element) {
  //value is the val in the textbox, element is the textbox.
  var firstChar = value.slice(0, 1);
  var lastChar = value.slice(-1);

 if (firstChar === '.' || firstChar === '_' || lastChar === '.' || lastChar === '_') 
 {
    return true;
 } else {
    return false;
 }
}, 'Please enter a valid username.');

然后像这样使用它;

$("#UserName").rules("add", {
   validUser: true
});

【讨论】:

  • 仅供参考 - 一旦定义,自定义规则可以像任何其他规则一样使用。绝对不需要使用 .rules() 方法声明它。它可以在.validate()rules 对象、类名、复合规则的一部分等内部。
猜你喜欢
  • 1970-01-01
  • 2014-08-16
  • 1970-01-01
  • 1970-01-01
  • 2023-04-09
  • 2016-10-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多