我创建了一个模型
public class ProductModels
{
[Required]
public int ProductId { get; set; }
[Required]
public string ProductName { get; set; }
[Required]
public int SubCatId { get; set; }
}
我可以使用以下内容跳过服务器端验证:
ModelState.Remove("ProductName");
if (ModelState.IsValid)
{
}
在模型中字段设置为[必需],但是当用户执行任何发布事件时,我想在客户端跳过此必需的字段验证。
答案 0 :(得分:1)
您应该忽略您不想验证的属性。您可以通过以下代码执行此操作:
$("#myform").validate({
ignore: ".ignore"
})
如果您使用不显眼的验证,只需设置默认值。
$.validator.setDefaults({
ignore: ":hidden .ignore"
});
答案 1 :(得分:0)
转到您的视图目录之外的Web.config。
并在
中设置以下内容<appSettings>
<add key="ClientValidationEnabled" value="false" />
<add key="UnobtrusiveJavaScriptEnabled" value="false" />
</appSettings>
如果您需要任何进一步的帮助,请与我们联系
答案 2 :(得分:0)
To get rid of controller IsValid , use basecontroller to deal with that
public class ResourceController : BaseController
{
// GET: /Resource/GetResources
const int durationInSeconds = 2 * 60 * 60; // 2 hours.
/// <summary>
/// Fetches resouces for javascript queries.
/// </summary>
/// <returns></returns>
[OutputCache(VaryByCustom = "culture", Duration = durationInSeconds)]
public JsonResult GetResources()
{
return Json(
typeof(Resource)
.GetProperties()
.Where(p => !p.Name.IsLikeAny("ResourceManager", "Culture")) // Skip the properties you don't need on the client side.
.ToDictionary(p => p.Name, p => p.GetValue(null) as string)
, JsonRequestBehavior.AllowGet);
}