フォームの単純なバリデーターを作成するためにコーディングしています。
フォームを動的に検証するために、eval 関数を使用する予定です。
javascript コーディングでわかるように、var funcCall は、jquery で選択された dom のパラメーターを持つ関数の名前になります。
しかし、それはエラーになります。(Uncaught SyntaxError: 予期しない識別子)
私が知りたいのは、 eval() で String のみを使用する必要があるか、これを行うためのより良い方法があるかということです。
var Submit = {
validateFilters : ["Submit.emptyCheckFilter"], // This is validator filters
emptyCheckFilter : function(element)
//this is filter to validate if it's empty or not.
console.log("this has been called");
},
doValidate : function(form) {
var children = $(form).children();
var filters = Submit.validateFilters;
$.each(children, function(key, value) { // Loop over form element
for(var i = 0; i < filters.length; i++) {
//Here's error comes the value is not String. it's selected item by jQuery.
//Uncaught SyntaxError: Unexpected identifier <= This occurs.
var funcCall = filters[i] + "(" + value + ");";
// Call the filter
eval(funcCall);
}
return false;
});
},
...
}