如何解决如何验证重复表格?
我想同时使用 jquery 中继器和 jquery 验证库。这是我的验证规则:
$("#myForm").validate({
rules: {
title: {
required: true
},subject: {
required: true
}
},messages: {
title: {
required: "Enter title!"
},subject: {
required: "Enter subject!"
}
},errorElement: 'div',errorPlacement: function (error,element) {
var placement = $(element).data('error');
if (placement) {
$(placement).append(error)
} else {
error.insertAfter(element);
}
},submitHandler: function (form) {
submitForm();
return false;
}
});
但它不起作用。因为 jquery 中继器创建输入名称,如 data[0][title]、data[1][title]、data[0][subject]、data[1][subject] 等。因此我的规则不只是命名标题或主题。如何验证这些名称,例如 data[*][title] 和 data[*][subject] ?
解决方法
如我的评论中所述,当 .validate()
未知时,您无法在 name
方法中设置规则。 (如果 name
缺失,您将无法使用此插件。)
Keep in mind that unique names
are mandatory for this plugin to function。以下任何技术仍然需要在每个字段上使用唯一的 name
。
如果需要设置像 required
这样的简单规则,那么您可以使用 data
属性、HTML5 或类来声明它们。 required="required"
、class="required"
等,插件会自动选取它们。
<input name="foo" required="required" ....
如果您无法更改内嵌 HTML,那么您可以使用 the .rules()
method 向这些字段添加规则,只要它们在您调用 .rules('add')
时存在即可。
-
在您的表单上调用
.validate()
以使用您的选项初始化插件。 -
使用 Repeater 或任何方法创建新字段,确保所有新字段都具有唯一的
name
属性。 -
在附加到这些新字段上的 jQuery selector such as "ends with" 的 jQuery
结尾.rules('add')
内部调用.each()
。这将动态地将required
规则添加到所有带有name
的字段,该[subject]
以 字符串$("[name$='[subject]']").each(function() { $(this).rules('add',required: true,messages: { required: "optional custom message" }); });
...useEffect(() => { Linking.addEventListene`enter code here`r('url',async ({url}) => { var newURL = url; var splitURL = newURL.toString().split('='); const token = splitURL[1]; let fcmtoken = await messaging().getToken(); const {data} = await axios.post( '/auth/me',{fcmtoken},{ headers: {Authorization: `Bearer ${token}`},},); console.log('data::::',data); AsyncStorage.setItem('tokenstore',`${token}`,() => { console.log('유저 닉네임 저장 완료'); }); dispatch({ type: KAKAOLOG_IN_REQUEST,data: data,}); }); return () => Linking.removeEventListener('url'); },[]);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。