ValidationMessageFor with model and html attribute only - MVC 3
Asked Answered
W

1

18

Working on a MVC 3 application.

I need to add a class to the validation message html. I mean for span tag.

My Model

 [Required(ErrorMessage = "Role Name is required")]
 [RegularExpression(@"^[a-zA-Z ]+$", 
     ErrorMessage = "Only alphabets and spaces allowed")]
 public string RoleName { get; set; }

Markup

  <label for="name">RoleName</label>
  @Html.TextBoxFor(m => m.RoleName)
  @Html.ValidationMessageFor(m => m.RoleName, "some", 
                           new { @class = "immediate" })

But i could not see overloaded method like @Html.ValidationMessageFor(m => m.RoleName, htmlAttributes) . if i give some text, it is not showing my validaton message entered in model. It always shows that some text only.

Any fix for this?

Walther answered 9/1, 2013 at 7:4 Comment(0)
P
25

You should be able to simply pass in null...

@Html.ValidationMessageFor(m => m.RoleName, null, new { @class = "immediate"})

Platypus answered 9/1, 2013 at 7:11 Comment(2)
i had a null missing, tx!Holston
Neither null nor empty string for the second argument has the effect of failing over to the error message in the model - i seem to get an auto-generated message from the framework. Anything else prerequisite to getting this to work?Afterbirth

© 2022 - 2024 — McMap. All rights reserved.