jquery - jQuery Validate 插件:德语变音不工作
问题描述
我正在使用 jQuery Validation Plugin () 并且我还在 StackOverflow 上找到了答案(jQuery validate plugin: accept only German letters),但提供的解决方案仍然对我不起作用。
我的语言中有 Ö,Ü,ä,ß 之类的变音符号(特殊字符),我使用以下代码,因此我的输入字段中不允许有数字。不幸的是,一旦有人输入变音符号,我就会收到不允许使用数字的消息。有人可以告诉我我做错了什么:
jQuery代码:
<script type="text/javascript">
$(document).ready(function(){
$.validator.addMethod('city', function(value, element, param) {
var nameRegex = /^[a-zA-ZäüöÄÜÖß]+$/;
return value.match(nameRegex);
}, 'No numbers are allowed.');
});
</script>
我还尝试了以下方法:
<script type="text/javascript">
$(document).ready(function(){
$.validator.addMethod('city', function(value, element, param) {
var nameRegex = /^[a-zA-Z\u0196\u0228\u0214\u0246\u0220\u0252\u0223]+$/;
return value.match(nameRegex);
}, 'No numbers are allowed.');
});
</script>
我的 HTML 输入字段:
<div class='row'>
<div class='col-md-12'>
<label>City::<span class='color-red'>*</span></label>
<input type='text' name='city' id='city' class='form-control' required>
</div>
</div>
我的网站有 charset=utf-8!知道我做错了什么吗?除了这个问题之外,使用 jquery 验证插件的所有其他东西都像一个魅力。任何帮助,将不胜感激。如果有人需要更多详细信息,请告诉我。
解决方案
我认为您可能会误解规则的命名与字段的命名。您的方法(规则)被命名city
...但是,仅仅因为您的字段也被命名city
,并不意味着该规则会自动应用于该字段。您仍然必须在任何字段上声明它。
我建议您调整命名并遵循以下选项之一...
1.按类内联
创建规则:
$.validator.addMethod('your_rule', function(value, element) {...
分配规则class
:
<input type='text' name='city' class='form-control your_rule' ....
函数中没有param
参数,.addMethod()
因为您的函数不接受参数。如果您接受了参数,那么您无法通过 分配规则class
。
2.rules
对象内
创建规则:
$.validator.addMethod('your_rule', function(value, element) {....
按方法分配规则.validate()
:
$('#yourForm').validate() {
rules: {
city: { // <- FIELD NAME
your_rule: true // <- RULE NAME
},
....
},....
如果您需要将参数传递给自定义方法/规则/函数,那么您将使用#2。
$.validator.addMethod('your_rule', function(value, element, param) {....
$('#yourForm').validate() {
rules: {
city: { // <- FIELD NAME
your_rule: param // <- RULE NAME
},
....
},....
推荐阅读
- r - How to fill a column with loop for every group in R?
- gpu - gRPC - Accumulate requests from Multiple clients
- angular - 动态地将唯一 id 设置为手风琴到角度的数据表 td
- mongodb - mongodb 错误:子进程失败,以“错误号 62”退出
- ajax - 如何进行递归发布请求?
- nuget - 无法找到版本 (>= ...) 的软件包 - 但我已经安装了该软件包?
- c# - 未调用枚举上的扩展方法
- excel - Excel VBA 宏会意外减速,通常在 DoEvents
- python - 在数据框中组合/映射行
- javascript - 形成 laravel 和 vueJS