ASP.net CustomValidator - ClientValidationFunction,用于检查值不是空白而不是初始值

时间:2013-03-06 14:25:01

标签: javascript asp.net validation

我有以下代码验证文本框的值以确保它不是空白但我还需要检查它是否不等于文本框的初始值(defaultValue)。

这是我到目前为止所拥有的......

使用Javascript:

function textValidation(source, arguments)
   {
        if ( arguments.Value != "" ){ // && arguments.Value != arguments.defaultValue
            arguments.IsValid = true;
        } else {
            $(source).parents("div").css({"background-color":"red"});
            arguments.IsValid = false;
        }
   }

达网络

  <asp:TextBox runat="server" ID="Initial" Text="Initial" defaultValue="Initial" Width="120px" />                               

<asp:CustomValidator id="Initial_req"
     ControlToValidate="Initial"
     ClientValidationFunction="textValidation"
     ValidateEmptyText="true"
     runat="server"
     CssClass="errorAsterisk"
     Text="*" 
     ErrorMessage="Complete all correspondence fields" />

3 个答案:

答案 0 :(得分:8)

您可以使用CSS类来执行您想要的操作,以识别TextBox并使用jQuery检索它,从而可以获取属性defaultValue

标记:

<asp:TextBox runat="server" 
             ID="Initial" 
             Text="Initial" 
             defaultValue="Initial" 
             Width="120px" 
             ValidationGroup="Test" 
             CssClass="to-validate" />

<asp:CustomValidator ID="Initial_req" 
   ControlToValidate="Initial" 
   ClientValidationFunction="textValidation"
   ValidateEmptyText="true" 
   runat="server" 
   CssClass="errorAsterisk" 
   Text="*" 
   ErrorMessage="Complete all correspondence fields"
   ValidationGroup="Test" />

<asp:Button ID="btnValidate" runat="server" Text="Validate" ValidationGroup="Test" />

使用Javascript:

function textValidation(source, arguments) {
     var initialValue = $(source).siblings(".to-validate:first").attr("defaultValue");

     if (arguments.Value != "" && arguments.Value != initialValue) { // && arguments.Value != arguments.defaultValue
         arguments.IsValid = true;
     } else {
         $(source).parents("div").css({ "background-color": "red" });
         arguments.IsValid = false;
     }
 }

答案 1 :(得分:0)

RequiredFieldValidator会阻止空白和初始值。

使用属性InitialValue

请参阅here

  

使用它来阻止您想要输入TextBox的任何值。 TextBox不必在开头嵌入该值 - 它无法使用该值提交。

答案 2 :(得分:0)

1)您不在函数中传递source和arguments参数。

2)然后为ClientValidationFunction =“javascript:textValidation(param1,oaram2)调用这种语法方式;返回true;”

3)您可以在文本框here

中使用必填字段验证

4)或另一种方式是(我们不使用任何参数)here