我正在使用asp.net的内置验证来设置必填字段,而不仅仅是显示一条消息,我还想更改无效元素的父div的背景颜色。
我想我可能需要使用ClientValidationFunction
选项,但我似乎无法使用它。
这是我到目前为止所拥有的......
<asp:TextBox runat="server" ID="myOption" />
<asp:RequiredFieldValidator runat="server"
ID="myOption_req"
ClientValidationFunction="validateMe"
EnableClientScript="true"
ControlToValidate="myOption"
Text="*"
ErrorMessage="Please fill in all required fields" />
使用以下javascript:
function validateMe(){
alert("Hello World");
}
我甚至无法显示警告,因此无法继续让父元素更改背景颜色。
答案 0 :(得分:1)
试试这个,
function validateMe(sender, arguments)
{
if (arguments.Value == "hello world")
arguments.IsValid = true;
else
arguments.IsValid = false;
}
aspx
<asp:CustomValidator color="Red" runat="server" ID="myOption_req"
ClientValidationFunction="validateMe"
EnableClientScript="true"
ControlToValidate="myOption" ValidateEmptyText="true"
Text="*"
ErrorMessage="Please fill in all required fields" />
答案 1 :(得分:0)
在验证控件中设置color =“Red”
并更改ClientValidationFunction="javascript:validateMe();"
而不是ClientValidationFunction="validateMe"
<asp:RequiredFieldValidator color="Red" runat="server"
ID="myOption_req"
ClientValidationFunction="javascript:validateMe();"
EnableClientScript="true"
ControlToValidate="myOption"
Text="*"
ErrorMessage="Please fill in all required fields" />
答案 2 :(得分:0)
ClientValidationFunction
不是RequiredFieldValidator
的属性。
如果您想要执行某些JavaScript,请改用CustomValidator
,如下所示:
<asp:CustomValidator color="Red" runat="server" ID="myOption_req"
ClientValidationFunction="validateMe"
EnableClientScript="true"
ControlToValidate="myOption" ValidateEmptyText="true"
Text="*"
ErrorMessage="Please fill in all required fields" />
不要忘记添加ValidateEmptyText="true"
属性,否则如果文本框为空,则会跳过验证。