Javascript 添加jquery验证

Javascript 添加jquery验证,javascript,jquery,asp.net,jquery-plugins,Javascript,Jquery,Asp.net,Jquery Plugins,我正在尝试构建一个服务器控件,它有一个radiobuttonlist,其中包含2项和一个文本框。 单选按钮为是-否选项 选择“是”时,我希望文本框可见,并且必须填写。 如果为“否”,则文本框将不可见 根据选项选择,我成功地使文本框出现和消失。 但是,当文本框不可见时,如何将验证添加到文本框并将其删除 我用ASP验证器尝试过,但是当文本框不可见时,jquery不会禁用它们 我尝试过类似的方法,但不起作用: <script type="text/javascript"> $(funct

我正在尝试构建一个服务器控件,它有一个radiobuttonlist,其中包含2项和一个文本框。 单选按钮为是-否选项

选择“是”时,我希望文本框可见,并且必须填写。 如果为“否”,则文本框将不可见

根据选项选择,我成功地使文本框出现和消失。 但是,当文本框不可见时,如何将验证添加到文本框并将其删除

我用ASP验证器尝试过,但是当文本框不可见时,jquery不会禁用它们

我尝试过类似的方法,但不起作用:

<script type="text/javascript"> 
$(function() 
{
  $('#TravelOption2_rbList').change(function() 
    { 
      var index = $('#TravelOption2_rbList input[type=radio]:checked').val(); 
      if (index != '0') 
        { 
           $('#TravelOption2_lblName2').css({'visibility':'visible'}); 
           $('#TravelOption2_txtName1').css({'visibility':'visible'}); 
           $('#TravelOption2_lblName3').css({'visibility':'visible'}); 

           // create validator (not working)
           $('#TravelOption2_txtName1').rules('add', { 
             required: true, 
             minlength: 2, 
             messages: { required: 'Required input', minlength: 'Please enter the cost.' } 
           }); 
        } else {
           $('#TravelOption2_lblName2').css({'visibility':'hidden'}); 
           $('#TravelOption2_txtName1').css({'visibility':'hidden'}); 
           $('#TravelOption2_lblName3').css({'visibility':'hidden'}); 

           // remove the validator here
        } 
    });
});
</script>

$(函数()
{
$('#TravelOption2_rbList')。更改(函数()
{ 
var index=$('#TravelOption2_rbList input[type=radio]:选中]).val();
如果(索引!=“0”)
{ 
$(#TravelOption2_lblName2').css({'visibility':'visible'});
$(#TravelOption2_txtName1').css({'visibility':'visible'});
$(#TravelOption2_lblName3').css({'visibility':'visibility'});
//创建验证程序(不工作)
$('#TravelOption2_txtName1')。规则('add',{
要求:正确,
最小长度:2,
消息:{required:'required input',minlength:'请输入成本。}
}); 
}否则{
$(#TravelOption2_lblName2').css({'visibility':'hidden'});
$(#TravelOption2_txtName1').css({'visibility':'hidden'});
$(#TravelOption2_lblName3').css({'visibility':'hidden'});
//在这里移除验证器
} 
});
});

我看到了很多例子,但它们对我不起作用。

当您提交文本框的内容时,简单地检查文本框中是否包含至少2个字符不是更容易吗?我假设这是某种输入形式

<script type="text/javascript"> 
  $(function() {
    $('#submitButton').on('click', function(){
      if ($('#TravelOption2_txtName1').val().length > 1 ) {
        //Textbox has at least 2 characters in it
      }
    })
  });
</script>

$(函数(){
$('submitButton')。在('click',function()上{
if($('#TravelOption2_txtName1').val().length>1){
//文本框中至少包含2个字符
}
})
});

这篇文章帮助我解决了这个问题


此服务器控件是表单的一部分,但不是表单本身。其中没有“提交”按钮。您是否尝试过使用jquery验证程序的“删除”参数<代码>$('#TravelOption2_txtName1')。规则('remove')否,因为我无法添加工作验证。我希望在用户离开文本框时完成验证。