Javascript Dojo电子邮件和url验证未启动

Javascript Dojo电子邮件和url验证未启动,javascript,jsp,dojo,Javascript,Jsp,Dojo,我实现了DOJO框架,但是我在让内置验证对电子邮件和URL起作用时遇到了问题。似乎在我的代码和目录结构的屏幕截图下没有触发函数: Page.jsp <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <%@taglib prefix="s" uri="/struts-tags"%> <%@ taglib prefix=

我实现了DOJO框架,但是我在让内置验证对电子邮件和URL起作用时遇到了问题。似乎在我的代码和目录结构的屏幕截图下没有触发函数:

Page.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

 <script src="dojo/dojo/dojo.js" data-dojo-config="async:true"></script>


<script>
//load requirements for declarative widgets 

require(["dojo/parser", 
            /* dojox/ validate resources */
            "dojox/validate/us", "dojox/validate/web",
            /* basic dijit classes */
            "dijit/form/CheckBox", "dijit/form/Textarea", "dijit/form/FilteringSelect", "dijit/form/TextBox", "dijit/form/ValidationTextBox", "dijit/form/DateTextBox", "dijit/form/TimeTextBox", "dijit/form/Button", "dijit/form/RadioButton", "dijit/form/Form", "dijit/form/DateTextBox",
            /* basic dojox classes */
            "dojox/form/BusyButton", "dojox/form/CheckedMultiSelect",
            "dojo/domReady!"]);
</script>

<link href= "<c:url value="dojo/dijit/themes/claro/claro.css" />" rel="stylesheet" type="text/css" media="screen"/>


<title>Insert title here</title>
</head>
<body class="class">
    <form data-dojo-type="dijit/form/Form" method="post"> 

    <script type="dojo/method" event="onSubmit">
            if(this.validate()){
                alert('your form is valid');
                return confirm('Form is valid, press OK to submit');
            }else{
                alert('Form contains invalid data.  Please correct first');
                return false;
            }
            return true;
    </script>

        <label for="value1Box">A textbox set with a value from the above textbox:</label><br/>

        <input type="text" required="true" name="firstName" id="firstName" placeholder="Your Name" 
        data-dojo-type="dojo/dijit/form/ValidationTextBox" missingMessage="Ooops!  You forgot your first name!" /><br/>

        <input type="text" required="true" name="website" id="website" placeholder="Your Website" 
        data-dojo-type="dijit/form/ValidationTextBox" validator="dojox.validate.isUrl" /><br/>

        <input type="text" required="true" name="email" id="email" 
        data-dojo-type="dijit/form/ValidationTextBox" validator="dojox.validate.isEmailAddress" /><br/>

        <input type="submit" value="Submit Form" label="Submit Form" 
        id="submitButton" data-dojo-type="dijit/form/Button" />
    </form>

</body>
</html>

//声明性小部件的加载要求
需要([“dojo/parser”,
/*dojox/validate资源*/
“dojox/validate/us”、“dojox/validate/web”,
/*基本dijit类*/
“dijit/form/CheckBox”、“dijit/form/Textarea”、“dijit/form/FilteringSelect”、“dijit/form/TextBox”、“dijit/form/ValidationTextBox”、“dijit/form/DateTextBox”、“dijit/form/TimeTextBox”、“dijit/form/Button”、“dijit/form/RadioButton”、“dijit/form/form/DateTextBox”,
/*基本dojox类*/
“dojox/form/BusyButton”、“dojox/form/CheckedMultiSelect”,
“dojo/domReady!”);
在此处插入标题
if(this.validate()){
警告(“您的表单有效”);
返回确认('表格有效,按OK提交');
}否则{
警报('表单包含无效数据。请先更正');
返回false;
}
返回true;
使用上述文本框中的值设置的文本框:



目录结构


您在以下HTML片段中使用了错误的类型:

<input type="text" required="true" name="firstName" id="firstName" placeholder="Your Name" 
    data-dojo-type="dojo/dijit/form/ValidationTextBox" missingMessage="Ooops!  You forgot your first name!" />

正如您在这里看到的,您在这里使用的是
dojo/dijit/form/ValidationTextBox
,但它应该是
dijit/form/ValidationTextBox
,就像其他两个一样

如果你这样做,它应该正常工作,至少在这方面