jQuery 验证,基于输入类型的不同错误消息
jQuery validate, different error message based on input type
我需要更改 jQuery 验证 Plugin. I have learned how to achieve this from here 的默认错误消息,这很好用。但是我需要更多的定制。是否可以根据输入字段的类型设置不同的错误消息。
我的意思是,为了:
<input type="text" required>
默认错误消息应该是 "Filling this field is required"。对于
<input type="file" required>
默认错误消息应该是 "Attaching document is required"。
我知道我可以为这样的字段单独设置错误消息:
$('form').validate({
messages: {
FieldName: { required: "Attaching document is required" }
}
});
问题是,表格真的很大,所以我认为单独编写错误消息不是一个好的解决方案。
为每个输入字段指定不同的名称并为名称单独创建验证规则
假设您有 2 个字段:
<input type="text" name="textfield" required>
<input type="file" name="filefield" required>
那么您的验证消息将是:
var validator = $("form").validate({
rules: {
textfield: "required",
filefield: "required",
},
messages: {
textfield: "Filling this field is required",
textfield: "Attaching document is required",
}
}
您可以使用 .rules('add')
方法结合 jQuery .each()
来根据 type
.
全局更改错误消息
$('input[type="text"]').each(function() {
$(this).rules('add', {
messages: {
required: "this TEXT field is required"
}
})
});
$('input[type="file"]').each(function() {
$(this).rules('add', {
messages: {
required: "this FILE upload field is required"
}
})
});
我的演示表明,即使在不使用此方法声明规则本身的情况下,您也可以使用此方法更改消息。消息仅显示在包含 required
属性的字段上。否则,you can also easily declare the required
rule for all inputs of these types 即使您没有内联 required
属性。
我需要更改 jQuery 验证 Plugin. I have learned how to achieve this from here 的默认错误消息,这很好用。但是我需要更多的定制。是否可以根据输入字段的类型设置不同的错误消息。 我的意思是,为了:
<input type="text" required>
默认错误消息应该是 "Filling this field is required"。对于
<input type="file" required>
默认错误消息应该是 "Attaching document is required"。 我知道我可以为这样的字段单独设置错误消息:
$('form').validate({
messages: {
FieldName: { required: "Attaching document is required" }
}
});
问题是,表格真的很大,所以我认为单独编写错误消息不是一个好的解决方案。
为每个输入字段指定不同的名称并为名称单独创建验证规则
假设您有 2 个字段:
<input type="text" name="textfield" required>
<input type="file" name="filefield" required>
那么您的验证消息将是:
var validator = $("form").validate({
rules: {
textfield: "required",
filefield: "required",
},
messages: {
textfield: "Filling this field is required",
textfield: "Attaching document is required",
}
}
您可以使用 .rules('add')
方法结合 jQuery .each()
来根据 type
.
$('input[type="text"]').each(function() {
$(this).rules('add', {
messages: {
required: "this TEXT field is required"
}
})
});
$('input[type="file"]').each(function() {
$(this).rules('add', {
messages: {
required: "this FILE upload field is required"
}
})
});
我的演示表明,即使在不使用此方法声明规则本身的情况下,您也可以使用此方法更改消息。消息仅显示在包含 required
属性的字段上。否则,you can also easily declare the required
rule for all inputs of these types 即使您没有内联 required
属性。