如何验证表单(动态生成)?

时间:2014-05-10 22:44:32

标签: javascript jquery forms validation

您能告诉我如何以动态生成的形式进行验证吗?我正在使用一个插件dform.js将JSON转换为表单。我要对字段进行验证。

http://jsfiddle.net/Xe3FG/2/

我从中得到了帮助。

https://github.com/daffl/jquery.dform

在我的演示中,我有两个数字字段。如果用户输入字符串并转到下一个字段,我需要它在字段前显示错误,"请仅输入数字。"我需要和第二个领域一样。

我们可以只使用drom.js或validation.js吗?

我可以验证用户何时在该字段中输入数据,然后按Enter键。

所以我使用了模糊事件。在每个字段上使用模糊事件不是一个好习惯。你能用不同的方式和一种好的方法来验证吗?

 ("#totalRetryCount").blur(function() {
    // Number element type returns empty value when NaN
    if ( $('#totalRetryCount').val() == '' )
        alert('enter a number');
});

$("#totalRepeatCount").blur(function(event) {
    // Number element type returns empty value when NaN
    if ( $('#totalRepeatCount').val() == '' )
        alert('enter a number');

我使用了这两个模糊事件。我不想使用这些活动。我们可以用另一种方式进行这些验证吗?

1 个答案:

答案 0 :(得分:0)

我已经在your last question向您解释了如何执行此操作,并为您提供了一个您似乎完全忽略的完整工作示例。在这种情况下,您只需要检查该值是否为空字符串,因为这是包含非数字数据的数字类型输入字段的默认值。

Fiddle demo

$("#testSuiteConfigurationform").validate(validateInputParameters());

function validateInputParameters() {
    jQuery.validator.addMethod("onlyNumbers", function(value, element) {
        return value != "";
    }, " Please enter only numbers");

    var validation = {
        onfocusout : function(element) {
           $(element).valid();
        },
        rules : { 
            totalRetryCount: { onlyNumbers: true }
        },
    };
    return validation;
};