微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何验证重复表格?

如何解决如何验证重复表格?

我想同时使用 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') 时存在即可。

  1. 在您的表单上调用 .validate() 以使用您的选项初始化插件。

  2. 使用 Repeater 或任何方法创建新字段,确保所有新字段都具有唯一的 name 属性。

  3. 在附加到这些新字段上的 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 举报,一经查实,本站将立刻删除。