In this article, I will show you custom validation in mvc, displaying image using css class for error message. The field-validation-error css class are applied to the ValidationMessageFor() and Validation-Summary-errors css are applied to the ValidationSummary().
Add Background-image to these css class and adjust it to the correct place. Whenver the user enters a string length less than 5 characters for the CategoryName validation message will show using the Minlength property in data annotation.
Here we are not adding images in required attribute in the Category class and added to the css class.
Category class:
public partial class Category
{
public int CategoryID { get; set; }
[Required]
[StringLength(15, ErrorMessage = "Minimum5 characters required for category name! ")]
public string CategoryName { get; set; }
public string Description { get; set; }
}
Create view:
<style type="text/css">
.field-validation-error {
color: #b94a48;
background-image: url(/Images/error.png);
background-repeat: no-repeat;
padding-left: 22px;
background-size: contain;
}
.validation-summary-errors {
color: #b94a48;
background-image: url(/Images/error.png);
background-repeat: no-repeat;
padding-left: 44px;
background-size: contain;
}
</style>
<fieldset>
<legend>Category</legend>
<div class="editor-label">
@Html.LabelFor(model => model.CategoryName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.CategoryName)
@Html.ValidationMessageFor(model => model.CategoryName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Description)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Description)
@Html.ValidationMessageFor(model => model.Description)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
Post your comments / questions
Recent Article
- How to get domain name information from a Domain using Python
- ModulenotFoundError: no module named 'debug_toolbar' -SOLUTION
- How to create superuser in django project hosted in cPanel without terminal
- CSS & images not loading in django admin | cpanel without terminal
- Could not build wheels for mysqlclient, which is required to install pyproject.toml-based projects
- How to sell domain name on Godaddy (2023)
- TemplateSyntaxError at / Could not parse the remainder: ' + 1' from 'forloop.counter0 + 1'
- urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0
Related Article