Create Validation in form control MVC .NET web application

Rumman Ansari   2019-03-13   Student   MS dot NET > Create-dropdown-list-using-mvc-dot-net   910 Share

In this tutorial we are going to to see how you can validate your form through the MVC .net web aplication

So late's start

View Page

<span class="pln">
</span><span class="lit">@model</span><span class="pln"> </span><span class="typ">MVCAssetManagementSystem</span><span class="pun">.</span><span class="typ">Models</span><span class="pun">.</span><span class="pln">aa_LoginMaster_1637935

</span><span class="pun">@{</span><span class="pln">
    </span><span class="typ">ViewBag</span><span class="pun">.</span><span class="typ">Title</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Login"</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span><span class="pln">

</span><span class="str">&lt;h2&gt;</span><span class="typ">Login</span><span class="pun">&lt;/</span><span class="pln">h2</span><span class="pun">&gt;</span><span class="pln">


</span><span class="lit">@using</span><span class="pln"> </span><span class="pun">(</span><span class="typ">Html</span><span class="pun">.</span><span class="typ">BeginForm</span><span class="pun">())</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
    </span><span class="lit">@Html</span><span class="pun">.</span><span class="typ">AntiForgeryToken</span><span class="pun">()</span><span class="pln">

    </span><span class="pun">&lt;</span><span class="pln">div </span><span class="kwd">class</span><span class="pun">=</span><span class="str">"form-horizontal"</span><span class="pun">&gt;</span><span class="pln">
        </span><span class="str">&lt;h4&gt;</span><span class="pln">aa_LoginMaster_1637935</span><span class="pun">&lt;/</span><span class="pln">h4</span><span class="pun">&gt;</span><span class="pln">
        </span><span class="pun">&lt;</span><span class="pln">hr </span><span class="pun">/&gt;</span><span class="pln">
        </span><span class="lit">@Html</span><span class="pun">.</span><span class="typ">ValidationSummary</span><span class="pun">(</span><span class="kwd">true</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="lit">@class</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"text-danger"</span><span class="pln"> </span><span class="pun">})</span><span class="pln">
        </span><span class="pun">&lt;</span><span class="pln">div </span><span class="kwd">class</span><span class="pun">=</span><span class="str">"form-group"</span><span class="pun">&gt;</span><span class="pln">
            </span><span class="lit">@Html</span><span class="pun">.</span><span class="typ">LabelFor</span><span class="pun">(</span><span class="pln">model </span><span class="pun">=&gt;</span><span class="pln"> model</span><span class="pun">.</span><span class="typ">UserName</span><span class="pun">,</span><span class="pln"> htmlAttributes</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="lit">@class</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"control-label col-md-2"</span><span class="pln"> </span><span class="pun">})</span><span class="pln">
            </span><span class="pun">&lt;</span><span class="pln">div </span><span class="kwd">class</span><span class="pun">=</span><span class="str">"col-md-10"</span><span class="pun">&gt;</span><span class="pln">
                </span><span class="lit">@Html</span><span class="pun">.</span><span class="typ">EditorFor</span><span class="pun">(</span><span class="pln">model </span><span class="pun">=&gt;</span><span class="pln"> model</span><span class="pun">.</span><span class="typ">UserName</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> htmlAttributes </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="lit">@class</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"form-control"</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> </span><span class="pun">})</span><span class="pln">
                </span><span class="lit">@Html</span><span class="pun">.</span><span class="typ">ValidationMessageFor</span><span class="pun">(</span><span class="pln">model </span><span class="pun">=&gt;</span><span class="pln"> model</span><span class="pun">.</span><span class="typ">UserName</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="lit">@class</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"text-danger"</span><span class="pln"> </span><span class="pun">})</span><span class="pln">
            </span><span class="pun">&lt;/</span><span class="pln">div</span><span class="pun">&gt;</span><span class="pln">
        </span><span class="pun">&lt;/</span><span class="pln">div</span><span class="pun">&gt;</span><span class="pln">

        </span><span class="pun">&lt;</span><span class="pln">div </span><span class="kwd">class</span><span class="pun">=</span><span class="str">"form-group"</span><span class="pun">&gt;</span><span class="pln">
            </span><span class="lit">@Html</span><span class="pun">.</span><span class="typ">LabelFor</span><span class="pun">(</span><span class="pln">model </span><span class="pun">=&gt;</span><span class="pln"> model</span><span class="pun">.</span><span class="typ">Password</span><span class="pun">,</span><span class="pln"> htmlAttributes</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="lit">@class</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"control-label col-md-2"</span><span class="pln"> </span><span class="pun">})</span><span class="pln">
            </span><span class="pun">&lt;</span><span class="pln">div </span><span class="kwd">class</span><span class="pun">=</span><span class="str">"col-md-10"</span><span class="pun">&gt;</span><span class="pln">
                </span><span class="pun">@*</span><span class="lit">@Html</span><span class="pun">.</span><span class="typ">EditorFor</span><span class="pun">(</span><span class="pln">model </span><span class="pun">=&gt;</span><span class="pln"> model</span><span class="pun">.</span><span class="typ">Password</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> htmlAttributes </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="lit">@class</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"form-control"</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> </span><span class="pun">})*@</span><span class="pln">
                </span><span class="lit">@Html</span><span class="pun">.</span><span class="typ">PasswordFor</span><span class="pun">(</span><span class="pln">model</span><span class="pun">=&gt;</span><span class="pln"> model</span><span class="pun">.</span><span class="typ">Password</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> htmlAttributes </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="lit">@class</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"form-control"</span><span class="pln"> </span><span class="pun">}</span><span class="pln"> </span><span class="pun">})</span><span class="pln">
                </span><span class="lit">@Html</span><span class="pun">.</span><span class="typ">ValidationMessageFor</span><span class="pun">(</span><span class="pln">model </span><span class="pun">=&gt;</span><span class="pln"> model</span><span class="pun">.</span><span class="typ">Password</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="lit">@class</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"text-danger"</span><span class="pln"> </span><span class="pun">})</span><span class="pln">
            </span><span class="pun">&lt;/</span><span class="pln">div</span><span class="pun">&gt;</span><span class="pln">
        </span><span class="pun">&lt;/</span><span class="pln">div</span><span class="pun">&gt;</span><span class="pln">

        </span><span class="pun">&lt;</span><span class="pln">div </span><span class="kwd">class</span><span class="pun">=</span><span class="str">"form-group"</span><span class="pun">&gt;</span><span class="pln">
            </span><span class="pun">&lt;</span><span class="pln">div </span><span class="kwd">class</span><span class="pun">=</span><span class="str">"col-md-offset-2 col-md-10"</span><span class="pun">&gt;</span><span class="pln">
                </span><span class="pun">&lt;</span><span class="pln">input type</span><span class="pun">=</span><span class="str">"submit"</span><span class="pln"> </span><span class="kwd">value</span><span class="pun">=</span><span class="str">"Create"</span><span class="pln"> </span><span class="kwd">class</span><span class="pun">=</span><span class="str">"btn btn-default"</span><span class="pln"> </span><span class="pun">/&gt;</span><span class="pln">
            </span><span class="pun">&lt;/</span><span class="pln">div</span><span class="pun">&gt;</span><span class="pln">
        </span><span class="pun">&lt;/</span><span class="pln">div</span><span class="pun">&gt;</span><span class="pln">
    </span><span class="pun">&lt;/</span><span class="pln">div</span><span class="pun">&gt;</span><span class="pln">
     

</span><span class="pun">}</span><span class="pln">


</span><span class="pun">&lt;</span><span class="pln">div style</span><span class="pun">=</span><span class="str">"background-color:orange"</span><span class="pun">&gt;</span><span class="pln">
    </span><span class="lit">@ViewBag</span><span class="pun">.</span><span class="typ">Message</span><span class="pln">
</span><span class="pun">&lt;/</span><span class="pln">div</span><span class="pun">&gt;</span><span class="pln">


</span><span class="str">&lt;div&gt;</span><span class="pln">
    </span><span class="lit">@Html</span><span class="pun">.</span><span class="typ">ActionLink</span><span class="pun">(</span><span class="str">"Back to List"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Index"</span><span class="pun">)</span><span class="pln">
</span><span class="pun">&lt;/</span><span class="pln">div</span><span class="pun">&gt;</span><span class="pln">

</span><span class="pun">&lt;</span><span class="pln">script src</span><span class="pun">=</span><span class="str">"~/Scripts/jquery-1.10.2.min.js"</span><span class="pun">&gt;&lt;/</span><span class="pln">script</span><span class="pun">&gt;</span><span class="pln">
</span><span class="pun">&lt;</span><span class="pln">script src</span><span class="pun">=</span><span class="str">"~/Scripts/jquery.validate.min.js"</span><span class="pun">&gt;&lt;/</span><span class="pln">script</span><span class="pun">&gt;</span><span class="pln">
</span><span class="pun">&lt;</span><span class="pln">script src</span><span class="pun">=</span><span class="str">"~/Scripts/jquery.validate.unobtrusive.min.js"</span><span class="pun">&gt;&lt;/</span><span class="pln">script</span><span class="pun">&gt;</span><span class="pln">

</span>

Login Meta page

<span class="pln">
</span><span class="kwd">using</span><span class="pln"> </span><span class="typ">System</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">using</span><span class="pln"> </span><span class="typ">System</span><span class="pun">.</span><span class="typ">Collections</span><span class="pun">.</span><span class="typ">Generic</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">using</span><span class="pln"> </span><span class="typ">System</span><span class="pun">.</span><span class="typ">ComponentModel</span><span class="pun">.</span><span class="typ">DataAnnotations</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">using</span><span class="pln"> </span><span class="typ">System</span><span class="pun">.</span><span class="typ">Linq</span><span class="pun">;</span><span class="pln">
</span><span class="kwd">using</span><span class="pln"> </span><span class="typ">System</span><span class="pun">.</span><span class="typ">Web</span><span class="pun">;</span><span class="pln">

</span><span class="kwd">namespace</span><span class="pln"> </span><span class="typ">MVCAssetManagementSystem</span><span class="pun">.</span><span class="typ">Models</span><span class="pln">
</span><span class="pun">{</span><span class="pln">
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> </span><span class="typ">LoginMetaData</span><span class="pln">
    </span><span class="pun">{</span><span class="pln">

        </span><span class="pun">[</span><span class="typ">Required</span><span class="pun">(</span><span class="typ">ErrorMessage</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Please Enter User Name"</span><span class="pun">)]</span><span class="pln">
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">string</span><span class="pln"> </span><span class="typ">UserName</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="kwd">get</span><span class="pun">;</span><span class="pln"> </span><span class="kwd">set</span><span class="pun">;</span><span class="pln"> </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">[</span><span class="typ">Required</span><span class="pun">(</span><span class="typ">ErrorMessage</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Please Enter Password"</span><span class="pun">)]</span><span class="pln">
        </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">string</span><span class="pln"> </span><span class="typ">Password</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="kwd">get</span><span class="pun">;</span><span class="pln"> </span><span class="kwd">set</span><span class="pun">;</span><span class="pln"> </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">}</span><span class="pln">

    </span><span class="pun">[</span><span class="typ">MetadataType</span><span class="pun">(</span><span class="kwd">typeof</span><span class="pun">(</span><span class="typ">LoginMetaData</span><span class="pun">))]</span><span class="pln">
    </span><span class="kwd">public</span><span class="pln"> </span><span class="kwd">partial</span><span class="pln"> </span><span class="kwd">class</span><span class="pln"> aa_LoginMaster_1637935 </span><span class="pun">{</span><span class="pln">


    </span><span class="pun">}</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span>

Code inside Controller

Here if(ModelState.IsValid) is very much important

<span class="pln">
 </span><span class="pun">[</span><span class="typ">HttpPost</span><span class="pun">]</span><span class="pln">
        </span><span class="kwd">public</span><span class="pln"> </span><span class="typ">ActionResult</span><span class="pln"> </span><span class="typ">Login</span><span class="pun">(</span><span class="pln">aa_LoginMaster_1637935 obj</span><span class="pun">)</span><span class="pln">
        </span><span class="pun">{</span><span class="pln">

            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="typ">ModelState</span><span class="pun">.</span><span class="typ">IsValid</span><span class="pun">)</span><span class="pln">
            </span><span class="pun">{</span><span class="pln">
                aa_LoginMaster_1637935 username </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> aa_LoginMaster_1637935</span><span class="pun">();</span><span class="pln">
                </span><span class="kwd">string</span><span class="pln"> name </span><span class="pun">=</span><span class="pln"> </span><span class="str">"admin"</span><span class="pun">;</span><span class="pln">
                username </span><span class="pun">=</span><span class="pln"> dbObject</span><span class="pun">.</span><span class="pln">aa_LoginMaster_1637935</span><span class="pun">.</span><span class="typ">Where</span><span class="pun">(</span><span class="pln">x </span><span class="pun">=&gt;</span><span class="pln"> x</span><span class="pun">.</span><span class="typ">UserName</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> name</span><span class="pun">).</span><span class="typ">FirstOrDefault</span><span class="pun">();</span><span class="pln">

                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">obj</span><span class="pun">.</span><span class="typ">UserName</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> username</span><span class="pun">.</span><span class="typ">UserName</span><span class="pln"> </span><span class="pun">&amp;&amp;</span><span class="pln"> obj</span><span class="pun">.</span><span class="typ">Password</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> username</span><span class="pun">.</span><span class="typ">Password</span><span class="pun">)</span><span class="pln">
                </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pln"> </span><span class="typ">RedirectToAction</span><span class="pun">(</span><span class="str">"AddAsset"</span><span class="pun">);</span><span class="pln">

                </span><span class="pun">}</span><span class="pln">
                </span><span class="kwd">else</span><span class="pln">
                </span><span class="pun">{</span><span class="pln">
                    </span><span class="typ">ViewBag</span><span class="pun">.</span><span class="typ">Message</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Sorry !! Wrong Credential"</span><span class="pun">;</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pln"> </span><span class="typ">View</span><span class="pun">();</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">else</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> </span><span class="typ">View</span><span class="pun">();</span><span class="pln">
            
             
                      
        </span><span class="pun">}</span><span class="pln">
</span>

Create a list inside view for your drop downlist

In view page

<span class="pln">
</span><span class="pun">@{</span><span class="pln">

    </span><span class="typ">List</span><span class="pun">&lt;</span><span class="typ">SelectListItem</span><span class="pun">&gt;</span><span class="pln"> list1 </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">List</span><span class="pun">&lt;</span><span class="typ">SelectListItem</span><span class="pun">&gt;();</span><span class="pln">
    list1</span><span class="pun">.</span><span class="typ">Add</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span class="typ">SelectListItem</span><span class="pln">
    </span><span class="pun">{</span><span class="pln">
        </span><span class="typ">Text</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Laptop"</span><span class="pun">,</span><span class="pln">
        </span><span class="typ">Value</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Laptop"</span><span class="pun">,</span><span class="pln">
    </span><span class="pun">});</span><span class="pln">
    list1</span><span class="pun">.</span><span class="typ">Add</span><span class="pun">(</span><span class="kwd">new</span><span class="pln"> </span><span class="typ">SelectListItem</span><span class="pln">
    </span><span class="pun">{</span><span class="pln">
        </span><span class="typ">Text</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Desktop"</span><span class="pun">,</span><span class="pln">
        </span><span class="typ">Value</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Desktop"</span><span class="pun">,</span><span class="pln">
    </span><span class="pun">});</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span>

This is inside the same page

@Html.DropDownListFor(model => model.AllocationStatus, list1) this line is important

<span class="pln">
    </span><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"form-group"</span><span class="tag">&gt;</span><span class="pln">
            @Html.LabelFor(model =&gt; model.AllocationStatus, htmlAttributes: new { @class = "control-label col-md-2" })
            </span><span class="tag">&lt;div</span><span class="pln"> </span><span class="atn">class</span><span class="pun">=</span><span class="atv">"col-md-10"</span><span class="tag">&gt;</span><span class="pln">
                // @Html.EditorFor(model =&gt; model.AllocationStatus, new { htmlAttributes = new { @class = "form-control" } })
                @Html.DropDownListFor(model =&gt; model.AllocationStatus, list1)
                @Html.ValidationMessageFor(model =&gt; model.AllocationStatus, "", new { @class = "text-danger" })
            </span><span class="tag">&lt;/div&gt;</span><span class="pln">
        </span><span class="tag">&lt;/div&gt;</span><span class="pln">
</span>