Creating a Custom Helper Class in MVC4 for Required Field

Step 1: Create a helper class in the models folder and add this code: 
  1. public static MvcHtmlString CustomLabelFor < TModel, TValue > (this HtmlHelper < TModel > html, Expression < Func < TModel, TValue >> expression) {  
  2.     var metadata = ModelMetadata.FromLambdaExpression(expression, html.ViewData);  
  3.     var htmlFieldName = metadata.DisplayName;  
  4.     var IsRequired = metadata.IsRequired;  
  5.     var strHtml = "";  
  6.     if (IsRequired == true) {  
  7.         strHtml = "<label>" + htmlFieldName + " <i class='required'>*</i></label>";  
  8.     } else {  
  9.         strHtml = "<label>" + htmlFieldName + "</label>";  
  10.     }  
  11.     return MvcHtmlString.Create(strHtml.ToString());  
  12. }  
Step 2: Use this line of code in you view to get the helper class. 
  1. @using ProjectName.Models   
Step 3: Now you can use replace the LabelFor field with the custom label created as shown below:
  1. @Html.CustomLabelFor(x => x.user.FirstName)   
Hope this is helpful,please revert back if u hav any suggestions or clarifications.