Html自定义属性创建和验证

时间:2014-02-18 13:11:24

标签: javascript jquery asp.net

我想动态创建控件的验证。我有一个超过25个控件的页面,这些控件的可见性基于类别和子类别。对于某些类别,需要控件,其中一些不是必需的。这是幕后的商业逻辑。

所以我在这里计划的是,基于类别和子类别选择,我计划为所有必填字段包含html属性isMandated=true。并在onblur事件上验证其价值。单击按钮(将页面发布到服务器时)我计划根据isMandated属性验证所有控件。

这种方法是否正确,所有主流浏览器都支持这种属性添加?

3 个答案:

答案 0 :(得分:2)

如果要包含其他属性,则需要使用data-前缀。所以在你的情况下:

data-isMandated="true"

所有主流浏览器都支持此功能。然后使用类似jQuery的东西获取数据:

var isMandated = $(selector).attr("data-isMandated");

答案 1 :(得分:0)

如果您的属性为"isMandated",则您的网页可能无法使用HTML验证。正确的方法是创建自定义属性"data-isMandated"。这种方法适用于所有浏览器(之前我创建了类似的页面,它可以在IE7 +,FF,Chrome上运行)。 也许会更好,将类添加到所有必填字段,而不是属性isMandated=true,并检查此类的所有字段。 此外,您可以使用jquery validation - plugin。它包括一些验证规则,如必填字段,最小/最大值,电话号码验证,电子邮件验证等。

答案 2 :(得分:0)

如果您使用的是asp.net,则可以使用不同控件上的RequiredFieldValidator,例如以下示例:

<tr>
<td>
<asp:RequiredFieldValidator runat=server
    ControlToValidate=txtName
    ErrorMessage="Identifier is required."> *
</asp:RequiredFieldValidator>
</td>
<td>User Identifier :</td>
<td><input type=text runat=server id=txtName></td>
</tr>

对于必填字段,您可以使用ValidationSummary属性,在必填字段前显示“*”。

<asp:ValidationSummary runat=server
      headerText="there is error on this page/>

并且不要忘记验证方法:

public sub OnSubmit(source as Object, e as EventArgs)
    if Page.IsValid then
    ' Some code
    end if
end sub