实现一个JavaScript验证的Asp.net Helper

 

       WEB应用在HTML里写JavaScript(JS)验证数据是正常的事情,但VS.NETJS的智能感知支持远没有C#这么强大,因此在写JS写多了也是麻烦的事情。为了方便所以写了一个Helper方便生成js验证代码。

先看下在应用中的代码:

    <form action="Register.aspx" method="post" onsubmit="return VRegister()">

    <p>用户名:<%=HtmlHelper.Input(InputType.text, "UserName").Value(view.User.UserName).Id("user")%><label id="usertip" /></p>

    <p>密码:<%=HtmlHelper.Input(InputType.password,"UserPWD").Id("pwd") %><label id="pwdtip" /></p>

    <p>确认密码:<%=HtmlHelper.Input(InputType.password,"RPWD").Id("rpwd") %><label id="rpwdtip" /></p>

    <p>邮件地址:<%=HtmlHelper.Input(InputType.text, "EMail").Value(view.User.EMail).Id("email")%><label id="emailtip" /></p>

    <p><input type="submit" value="注册" /></p>

    <p></p>

    </form>

       

        <%JSValidator jsv = new JSValidator("VRegister");

          jsv.Add(jsv.Create("user", "usertip").NotNull("请输入用户名!", null),

              jsv.Create("pwd","pwdtip").NotNull("请输入密码!",null),

              jsv.Create("rpwd","rpwdtip").NotNull("请输入确认密码!",null).StringCompare("pwd", CompareType.eq,"密码不一致!",null),

              jsv.Create("email","emailtip").NotNull("请输入邮件地址!",null).EMail("非法邮件地址!",null));

        %>

        <%=jsv %>

灰色部分代码就是验证Helper的代码,通过C#代码能够很快的完成输写。

实际的应用效果:

 

JS功能代码

Code


c# helper代码

Code


重构后的Validator代码


Code

扩展Ajax功能

Code

 

Code



 

posted on 2009-09-25 18:53  henry  阅读(2613)  评论(13编辑  收藏  举报

导航