如何使用jquery对json文件验证表单字段?

时间:2014-06-08 07:08:31

标签: jquery json forms validation

我有一个表单,我只希望人们能够提交,如果它来自json文件中的值列表。 Json文件将是{“1”,“2”,“3”,......}。我一直在尝试搜索,但我无法找到像这样的东西。我觉得这个相对简单但是因为我是jquery / JS的新手,所以从头开始构建它有点棘手。

如果有人有一个好的方向指出我会非常有帮助或一些方便的好 - 甚至更好!

现在我正在尝试从下面破解一些代码,但它似乎并不想做这个技巧。

<script>
  $.getJSON("countries.json", function(json) {
    $('#signup').on('submit', function(evt) {
        var user = $('#user').val(), error;
        if (!user)
            error = 'no username entered';
        else if (json.usernames.indexOf(user) != -1)
            error = 'username already taken';
    if (error) { evt.preventDefault(); alert(error); }
    });
});
  </script>


<form id='signup'>
    <label>Enter value here</label>
    <input type='text' id='user' />
    <input type='submit' value='submit' />
</form>

谢谢!我也试图使用bootstraps typeahead,但它决定用我的bootstrap 3.0 css文件分解:|

1 个答案:

答案 0 :(得分:1)

您可能需要考虑使用JQuery验证并添加自定义验证程序,验证程序将执行您的Id / usrname检查,如果成功则允许表单提交,否则不会。

在下面的示例中,自定义验证 - 由&#34; usersExistsCheck&#34;提供。功能 - 覆盖您的身份检查,并且所需的验证可确保输入值。

$(document).ready(function(){
   $.validator.addMethod("userExistsCheck", 
                         function(value, element) {
                            // Your test on ids/username in here
                        }, 
                         "Can not submit as the user already exists."
  );

  $("#signup").validate({   
      rules: {
          user: { //where user is the id of the user input box.
              required: true,
              userExistsCheck: true
          }

      },
      messages: {
         user: {
               required: "* Required"
           }
       }    
   });

})

改编自此博文: http://randomactsofcoding.blogspot.co.uk/2008/10/starting-with-jquery-how-to-write.html