Asp .Net MVC Disable Client Side Validation at Per-Field Level

ASP .NET MVC Disable Client Side Validation at Per-Field Level

I'm not sure if this solution works on MVC3. It surely works on MVC4:

You can simply disable client side validation in the Razor view prior to render the field and re-enable client side validation after the field has been rendered.

Example:

<div class="editor-field">
@{ Html.EnableClientValidation(false); }
@Html.TextBoxFor(m => m.BatchId, new { @class = "k-textbox" })
@{ Html.EnableClientValidation(true); }
</div>

Here we disable client side validation for the BatchId field.

Also I have developed a little helper for this:

public static class YnnovaHtmlHelper
{
public static ClientSideValidationDisabler BeginDisableClientSideValidation(this HtmlHelper html)
{
return new ClientSideValidationDisabler(html);
}
}

public class ClientSideValidationDisabler : IDisposable
{
private HtmlHelper _html;

public ClientSideValidationDisabler(HtmlHelper html)
{
_html = html;
_html.EnableClientValidation(false);
}

public void Dispose()
{
_html.EnableClientValidation(true);
_html = null;
}
}

You will use it as follow:

<div class="editor-field">
@using (Html.BeginDisableClientSideValidation()) {
@Html.TextBoxFor(m => m.BatchId, new { @class = "k-textbox" })
}
</div>

If anyone has better solutions please let me know!

Hope this help.

Disable Client Side validation for one submit button in ASP.NET MVC4

you don't have to make a cancel button submit instead you can make it link button

 @Html.ActionLink("Back","ActionName")

or you can make it <input type="button" value="Cancel" onclick="JsFunction()" />
the two cases they will not affect with validation

Is it possible to disable client side validation for a single model property in MVC

Create your own server side only regular expression attribute. Derive it from RegularExpressionAttribute but don't implement IClientValidatable. You only have to implement constructor. Without IClientValidatable, the client side validators won't be wired up. Since this attribute is nothing but regular expression attribute, all server side validations will continue to work as provided by RegularExpressionAttribute.

public class ServerSideOnlyRegularExpressionAttribute : RegularExpressionAttribute
{
public ServerSideOnlyRegularExpressionAttribute(string pattern)
: base(pattern)
{
}
}

Use it as

[Required(ErrorMessageResourceType=typeof(ResourceFile), ErrorMessageResourceName="ResourceName1"
[ServerSideOnlyRegularExpression(@"\w{3,5}", ErrorMessageResourceType=typeof(ResourceFile), ErrorMessageResourceName="ResourceName2")]
public string TestProperty { get; set; }

Restrict Client side validation for 1 case and enable for other case in same screen(cshtml) MVC

You can just put textbox value in Viewbag from Controller and disable client validations on view with condition as :-

Controller :

[HttpGet]
Public ActionResult YourAction()
{
//get data from db and bind to model
Viewbag.textvalue=....//Some Value...
return View(model);
}

View :

@{
if(Viewbag.textvalue!="A"){
HtmlHelper.ClientValidationEnabled = false;
}
}

NOTE:

Above code will disable client validation on complete form depending upon textbox value as specified in your question.

How to Disable MVC Dropdown menu client side Validation

Change the property Ach to a nullable int and then no value will be acceptable:

public int? Ach { get; set; }

I anticipate that setting this value to nullable isn't acceptable, because you don't want null values for the property within your database. Keep reading...

I notice that your View Model has [Key], [ForeignKey] and virtual properties, which suggests to me that you're using your domain models as view models.

You should really have a whole new class that has a specific use as a View Model for your page that contains the minimum number of properties to hold only the values that are required to display the view.

.net mvc 5 unobtrusive disable field validation

You want to amend the rules based on the user's decision. When the field is no longer required, do the following:

$('#Property').rules('remove', 'required')

You can wrap this in a listener on the #OtherProperty:

$('#OtherProperty').change(function(e) {

if (someCondition) {
$('#Property').rules('remove', 'required')
} else {
$('#Property').rules('add', 'required')
}

});

asp net mvc custom client side validation for one field

Try to add logic on "blur" method instead of "change" method.

 $( ".txt-field" ).blur( function( event )
{
if ( !checkField( $(this).val() ) )
{
$(this).removeClass("valid").addClass("input-validation-error");
}
else
{
$(this).removeClass("input-validation-error").addClass("valid");
}

} );



Related Topics



Leave a reply



Submit