Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript dojo中的valiadte文本框_Javascript_Validation_Dojo - Fatal编程技术网

Javascript dojo中的valiadte文本框

Javascript dojo中的valiadte文本框,javascript,validation,dojo,Javascript,Validation,Dojo,我正在尝试验证文本框: 我有两个文本框。如果第一个文本框或第二个文本框的值有效,则表单将成功提交,如果两个文本框均为空,则将显示错误 这是我的密码: <script> dojo.require("dojo.parser"); dojo.require("dijit.form.ValidationTextBox"); dojo.require("dijit.form.Form"); dojo.

我正在尝试验证文本框:

我有两个文本框。如果第一个文本框或第二个文本框的值有效,则表单将成功提交,如果两个文本框均为空,则将显示错误

这是我的密码:

<script>
           dojo.require("dojo.parser"); 
           dojo.require("dijit.form.ValidationTextBox"); 
           dojo.require("dijit.form.Form");
            dojo.require("dijit.form.Button");
                </script>
    </head>
    <body class="claro">
        <div data-dojo-type="dijit.form.Form" action="" id="myForm" data-dojo-id="myForm" method="post">
                <script type="dojo/method" data-dojo-event="onReset">
                    return confirm('Press OK to reset values');
                </script>
                <script type="dojo/method" data-dojo-event="onSubmit">
                    if(this.validate()){
                    return true;
                    }else{
                    if((dijit.byId('a').value==null && dijit.byId('b').value!=null) ){

                    alert('Valid data');
                    return true;
                    }
                    alert('Form contains invalid data.  Please correct first');
                    return false;
                    }
                    return true;
                </script>

                <input type="text" name="a" dojoType="dijit.form.ValidationTextBox" required="true" id="a"/>
        <input type="text" name="b" dojoType="dijit.form.ValidationTextBox" required="true" id="b"/>
        <button data-dojo-type="dijit.form.Button" type="submit" name="submitButton" value="Submit">Submit</button>
        </div>

require(“dojo.parser”);
require(“dijit.form.ValidationTextBox”);
require(“dijit.form.form”);
require(“dijit.form.Button”);
返回确认(“按OK重置值”);
if(this.validate()){
返回true;
}否则{
if((dijit.byId('a').value==null&&dijit.byId('b').value!=null)){
警报(“有效数据”);
返回true;
}
警报('表单包含无效数据。请先更正');
返回false;
}
返回true;
提交

它不起作用,有什么建议吗?

文本框的值不会为空,如果声明中没有提供任何值,它将初始化为空字符串。 对于您的情况,请尝试按以下方式更改条件:

if((!dijit.byId('a').value && !dijit.byId('b').value)){
    this.validate();
    alert('Not Valid Form!');
    return false;
} else {
    return true;
}