3

我有以下代码验证文本框的值以确保它不为空,但我还需要检查它是否不等于文本框的初始值(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" />
4

3 回答 3

10

您可以使用 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;
     }
 }
于 2013-03-06T14:46:06.533 回答
0

ARequiredFieldValidator将防止空白以及初始值。

使用属性InitialValue

这里

使用它来防止您喜欢的任何值被输入到TextBox. TextBox不必在开始时嵌入该值 - 它只是不能与该值一起提交。

于 2013-03-06T14:44:55.753 回答
0

1)你没有在你的函数中传递源和参数参数。

2)然后调用这个语法方式为ClientValidationFunction="javascript:textValidation(param1,oaram2);return true;"

3)您可以在此处的文本框中使用必填字段验证

4)或者另一种方式是(我们不使用任何参数)在这里

于 2013-03-06T14:51:53.357 回答