我有这个验证代码,当我将文本放在数字字段中时看起来工作正常,但是当我将值设置为低于1时,在规则中将其设置为min,即使它应该也没有消息
jQuery(function() {
$('#payment_amount').validate({
lang: 'sk',
rules: {
"payment[amount]": {
required: true,
min: 1,
max: 9999999
}
},
highlight: function(element) {
$(element).parent().addClass('state-error');
},
unhighlight: function(element) {
$(element).parent().removeClass('state-error');
}
});
});
当我在输入类型编号的不同页面上使用相同的代码时,检查最小值是否有效
这是我创建输入字段的方式
<%= f.number_field :amount, :style=>"-moz-appearance:textfield;", :required=> true %>
这是html
<input type="number" id="payment_amount" name="payment[amount]" required="required" style="-moz-appearance:textfield;" aria-required="true" novalidate="novalidate" aria-invalid="false">
我错过了什么吗?
答案 0 :(得分:0)
$('form').validate({
lang: 'sk',
rules: {
'payment[amount]': {
min: 1
}
},
highlight: function(element) {
$(element).parent().addClass('state-error');
},
unhighlight: function(element) {
$(element).parent().removeClass('state-error');
}
});
答案 1 :(得分:0)
您已使用.validate()
...
id="payment_amount"
方法附加到输入字段
$('#payment_amount').validate({
lang: 'sk',
rules: {
"payment[amount]": {
...
但是,您应该将.validate()
方法附加到form
元素,以初始化表单上的插件;这就是为什么在name
对象中指定了每个字段rules
。
$('#my_form_id').validate({ // <- attach to the form; these are the options for this form
lang: 'sk',
rules: {
"payment[amount]": { // <- the field name is specified here
...