我正在尋找解決方案來驗證textfield對由json文件提供的數組的輸入。 例如:在註冊表單中檢查,如果所需的用戶名已存在。針對json/array的jQuery textfield驗證
誰能幫助與工作的例子,插件,腳本或教程?
的 'usernames.json' 看起來像這樣...
{"usernames":["carl","jack","jill"]}
...並讀出與...
$.getJSON("usernames.json", function(names) {
var invalidName = names;
我會去上...
jQuery.validator.addMethod
...但是從現在開始,我很堅持。
如果有人可以幫忙做工作的例子,我會很高興!
////////////////////////////////////////////// //////
編輯:感謝Utkanos和Pavel Staseljun,我能想出以下解決方案,這是隻有大致測試! 請在下面找到Utkanos的例子,因爲這個例子包含「keyup」操作,而不是「submit」,並且不包含「required」--check。 「#errorresponse」是div,可能會顯示錯誤消息。
$.ajax({
url: "http://yoururlto.json?callback=?",
dataType:"jsonp",
jsonpCallback: '?',
async: false,
success: function(json) {
$('#user').keyup(function(evt) {
var jsonarray = json.usernames;
var userinput = $('#user').val().toLowerCase()
var check = $.inArray(userinput, jsonarray);
if (check !== -1) {
$("#errorresponse").text('Thanks to Utkanos and Pavel Staseljun!');
}
})
}
});
我想'如果($ .inArray($( '#用戶名')VAL(),json.usernames)。)錯誤= '用戶名已經採取了';',而不是'如果(json.usernames.indexOf($ ('#username').val())!= -1)error ='用戶名已被佔用';'更好..? – 2012-07-31 09:35:13
嗯,是的,它更加跨瀏覽器。我只是喜歡ECMA5 :) – Utkanos 2012-07-31 09:36:47
非常感謝你們倆!這非常有幫助! :-) – Elvis 2012-08-01 08:56:11