Reputation:
I need to enable and disable the required field validation based on anchor tag click.
Here I showed some example
<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>
Edit
That CustomText is my model property
[Required]
[Display(Name = "Custom Text")]
public string CustomText { get; set; }
Upvotes: 1
Views: 7195
Reputation: 1267
You can use rules()
like
If you want to add rules, rules('add',required);
If you want to remove rules, 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>
Upvotes: 4