2015-08-28 3 views
0

Мне нужно включить и отключить требуемую проверку поля на основе щелчка тега привязки.Как включить или отключить MVC Обязательная проверка поля

Здесь я показал несколько примеров

<div class="row"> 
     <div class="col1"> 
      @Html.DisplayNameFor(m => m.CustomText) 
     </div> 
     <div class="col2"> 
      @Html.TextAreaFor(m => m.CustomText) 
      @Html.ValidationMessageFor(m => m.CustomText, null, new { @style = "color:red" }) 
     </div> 
     <a href="javascript:void(0)" onclick="SelectOn();" class="button">ON</a> 
     <a href="javascript:void(0)" onclick="SelectOff();" class="button">OFF</a> 
</div> 
<script type="text/javascript"> 
     $(document).ready(function() { 
      var modVal = '@Modle.IsEnabled'; 
      if (modVal = 'false') { 
       //Need to disable 
      } 
     }); 

     function SelectOn() { 
      //Need to enable 
     } 

     function SelectOff() { 
      //Need to disable 
     } 
</script> 

Редактировать

Это CustomText моя модель свойство

[Required] 
[Display(Name = "Custom Text")] 
public string CustomText { get; set; } 
+0

Не ясно, что ваш спрашивать. У вашего свойства 'CustomText' есть атрибут проверки? Желаете ли вы применять эту проверку только при определенных обстоятельствах? –

+0

Это ** CustomText ** - это мое свойство модели [Обязательно] [Показать (Название = "Пользовательский текст")] public string CustomText {get; задавать; } –

+0

Нет, его нет. Его свойство в вашей модели :). Вы должны использовать атрибут '[RequiredIf]' или аналогичный атрибут проверки, чтобы вы получили валидацию как на сервере, так и на стороне клиента (в отличие от принятого вами ответа). Проверьте [foolproof] (http://foolproof.codeplex.com/) –

ответ

2

Вы можете использовать rules() как

Если вы хотите добавить правила, rules('add',required);

Если вы хотите удалить правила, rules('remove','required');

<div class="row"> 
    <div class="col1"> 
     @Html.DisplayNameFor(m => m.CustomText) 
    </div> 
    <div class="col2"> 
     @Html.TextAreaFor(m => m.CustomText) 
     @Html.ValidationMessageFor(m => m.CustomText, null, new { @style = "color:red" }) 
    </div> 
    <a href="javascript:void(0)" onclick="SelectOn();" class="button">ON</a> 
    <a href="javascript:void(0)" onclick="SelectOff();" class="button">OFF</a> 
</div> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     var modVal = '@Modle.IsEnabled'; 
     if (modVal = 'false') { 
      //Need to disable 
      $('#CustomText').rules('remove'); 
      $('#CustomText-error').text(''); 
     } 
    }); 

    function SelectOn() { 
     //Need to enable 
     $("#CustomText").rules("add", 'required'); 
    } 

    function SelectOff() { 
     //Need to disable 
     $('#CustomText').rules('remove'); 
     $('#CustomText-error').text(''); 
    } 
</script> 
Смежные вопросы