code annotation attributes in C#

GuaSerius24jamGuaSerius24jam
2 min read

dalam EF Core , kita boleh set certain requirement dalam satu2 variable bagi setiap data type dalam code page. contoh

namespace ShoppingCart.Models
{
  public class Supervisor
  {
    public string ID { get; set; }
    public string Name { get; set; }
  }
}

sebelum kita boleh guna annotation ni, kena letak

using System.ComponentModel.DataAnnotations;

so kata kan lah untuk ID tu kita nak nak set Required dan minimum length 2. display as Code (This will change the display name for headers and <label> tags). dan cuma terima uppercase kita boleh set macam ni.

using System.ComponentModel.DataAnnotations;
namespace ShoppingCart.Models
{
  public class Supervisor
  {
    [Required, StringLength(2, MinimumLength = 2), Display(Name = "Code")]
    [RegularExpression(@"[A-Z]+", ErrorMessage = "Only upper case characters are allowed.")]
    public string ID { get; set; }
    [Required]
    public string Name { get; set; }
  }
}

aku tak guna jetbrains tapi aku rasa sini ada tulis banyak info tentang annotation attributes.

so bila kita dah define annotation kat modelpage . kita kena guna tag helper untuk validate benda ni iaitu asp-validation-for . kemudian kat bawah viewPage tu kena insert script

@section Scripts {
  @{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}
<form method="post">
  <div class="form-group d-flex">
    <label asp-for="Supervisor.ID" class="p-2 text-right" style="flex:0 0 15%"></label>
    <div style="flex:1 0 auto;width:auto">
      <input asp-for="Supervisor.ID"" class="form-control" />
      <span asp-validation-for="Supervisor.ID" class="text-danger"></span>
    </div>
  </div>
  <div class="form-group d-flex">
    <label asp-for="Supervisor.Name" class="p-2 text-right" style="flex:0 0 15%"></label>
    <div style="flex:1 0 auto;width:auto">
      <input asp-for="Supervisor.Name" class="form-control" />
      <span asp-validation-for="Supervisor.Name" class="text-danger"></span>
    </div>
  </div>
  <div class="form-group d-flex flex-row-reverse">
    <input type="submit" value="Save" class="btn btn-primary btn-sm" />
  </div>
</form>

@section Scripts {
  @{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}
0
Subscribe to my newsletter

Read articles from GuaSerius24jam directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

GuaSerius24jam
GuaSerius24jam

gua memang serious cakap lu, gua serious 24 jam. baik di jamban ,di meja makan atau bersenggama . serius...dohhh