{"id":3277,"date":"2017-03-13T15:06:05","date_gmt":"2017-03-13T15:06:05","guid":{"rendered":"http:\/\/www.rezafaisal.net\/?p=3277"},"modified":"2017-03-13T15:13:25","modified_gmt":"2017-03-13T15:13:25","slug":"asp-net-core-generate-automatic-attributes-from-class-model-for-tag-helper-input","status":"publish","type":"post","link":"http:\/\/www.rezafaisal.net\/?p=3277","title":{"rendered":"ASP.NET Core: Generate Automatic Attributes from Class Model for Tag Helper Input"},"content":{"rendered":"<p>Pada posting sebelumnya telah dibahas tentang dasar-dasar tag helper dan perbedaannya dengan HTML helper yang dapat dilihat pada dua link berikut ini:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.rezafaisal.net\/?p=3267\">http:\/\/www.rezafaisal.net\/?p=3267<\/a>.<\/li>\n<li><a href=\"http:\/\/www.rezafaisal.net\/?p=3271\">http:\/\/www.rezafaisal.net\/?p=3271<\/a>.<\/li>\n<\/ul>\n<p>Elemen &lt;input&gt; pada tag HTML dapat digunakan untuk beberapa tipe input, yaitu:<\/p>\n<ul>\n<li>Text untuk input teks.<\/li>\n<li>Radio button, tipe ini digunakan untuk memilih sebuah nilai dari beberapa pilihan pilihan nilai yang tersedia.<\/li>\n<li>Check box bentuk ini digunakan digunakan untuk memilih lebih dari satu nilai dari beberapa pilihan nilai yang tersedia.<\/li>\n<li>File, tipe ini digunakan untuk memilih file yang akan diupload.<\/li>\n<\/ul>\n<p>Tag helper &lt;input&gt; memiliki kemampuan untuk menentukan tipe input secara otomatis berdasarkan tipe data dari property pada class model. Sebagai contoh dimiliki class model berikut ini.<\/p>\n<div id=\"codeSnippetWrapper\" style=\"font-size: 8pt; overflow: auto; cursor: text; font-family: 'Courier New', courier, monospace; width: 97.5%; direction: ltr; text-align: left; margin: 20px 0px 10px; line-height: 12pt; max-height: 200px; background-color: #f4f4f4; border: silver 1px solid; padding: 4px;\">\n<div id=\"codeSnippet\" style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><span style=\"color: #0000ff;\">using<\/span> System;<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><span style=\"color: #0000ff;\">using<\/span> System.ComponentModel.DataAnnotations;<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><span style=\"color: #0000ff;\">namespace<\/span> EFCoreBookStore.Models<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">{<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">    <span style=\"color: #0000ff;\">public<\/span> <span style=\"color: #0000ff;\">partial<\/span> <span style=\"color: #0000ff;\">class<\/span> ContohModel{<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">        [Display(Name =<span style=\"color: #006080;\">\"Contoh Text\"<\/span>)]<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">        <span style=\"color: #0000ff;\">public<\/span> String ContohText{set; get;}<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">        [Display(Name =<span style=\"color: #006080;\">\"Contoh Date Time\"<\/span>)]<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">        <span style=\"color: #0000ff;\">public<\/span> DateTime ContohDateTime{set; get;}<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">        [Display(Name =<span style=\"color: #006080;\">\"Contoh Number\"<\/span>)]<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">        <span style=\"color: #0000ff;\">public<\/span> Double ContohNumber{set; get;}<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">        [Display(Name =<span style=\"color: #006080;\">\"Contoh Boolean\"<\/span>)]<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">        <span style=\"color: #0000ff;\">public<\/span> Boolean ContohBoolean{set; get;}<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">    }<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">}<\/pre>\n<p><!--CRLF--><\/p>\n<\/div>\n<\/div>\n<p>Kemudian berikut ini adalah contoh penggunaan tag helper input.<\/p>\n<div id=\"codeSnippetWrapper\" style=\"font-size: 8pt; overflow: auto; cursor: text; font-family: 'Courier New', courier, monospace; width: 97.5%; direction: ltr; text-align: left; margin: 20px 0px 10px; line-height: 12pt; max-height: 200px; background-color: #f4f4f4; border: silver 1px solid; padding: 4px;\">\n<div id=\"codeSnippet\" style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">@model EFCoreBookStore.Models.ContohModel<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">form<\/span> <span style=\"color: #ff0000;\">asp-controller<\/span><span style=\"color: #0000ff;\">=\"Latihan\"<\/span> <span style=\"color: #ff0000;\">asp-action<\/span><span style=\"color: #0000ff;\">=\"Template\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohText\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohText\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohDateTime\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohDateTime\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohNumber\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohNumber\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohBoolean\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohBoolean\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">button<\/span> <span style=\"color: #ff0000;\">type<\/span><span style=\"color: #0000ff;\">=\"submit\"<\/span> <span style=\"color: #ff0000;\">class<\/span><span style=\"color: #0000ff;\">=\"btn btn-success\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>Submit<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">button<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">form<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<\/div>\n<\/div>\n<p>Pada tag helper input digunakan atribut asp-for untuk menentukan property class model yang ditangani oleh tag helper. Dari contoh di atas dapat dilihat tidak ada penentuan nilai untuk atribut \u201ctype\u201d pada tag &lt;input&gt; seperti umumnya ditemui pada tag HTML. Hasil dari render HTML contoh tag helper di atas adalah sebagai berikut.<\/p>\n<div id=\"codeSnippetWrapper\" style=\"font-size: 8pt; overflow: auto; cursor: text; font-family: 'Courier New', courier, monospace; width: 97.5%; direction: ltr; text-align: left; margin: 20px 0px 10px; line-height: 12pt; max-height: 200px; background-color: #f4f4f4; border: silver 1px solid; padding: 4px;\">\n<div id=\"codeSnippet\" style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">form<\/span> <span style=\"color: #ff0000;\">action<\/span><span style=\"color: #0000ff;\">=\"\/Latihan\/Template\"<\/span> <span style=\"color: #ff0000;\">method<\/span><span style=\"color: #0000ff;\">=\"post\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">for<\/span><span style=\"color: #0000ff;\">=\"ContohText\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>Contoh Text<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">type<\/span><span style=\"color: #0000ff;\">=\"text\"<\/span> <span style=\"color: #ff0000;\">id<\/span><span style=\"color: #0000ff;\">=\"ContohText\"<\/span> <span style=\"color: #ff0000;\">name<\/span><span style=\"color: #0000ff;\">=\"ContohText\"<\/span> <span style=\"color: #ff0000;\">value<\/span><span style=\"color: #0000ff;\">=\"\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">for<\/span><span style=\"color: #0000ff;\">=\"ContohDateTime\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>Contoh Date Time<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">type<\/span><span style=\"color: #0000ff;\">=\"datetime\"<\/span> <span style=\"color: #ff0000;\">data-val<\/span><span style=\"color: #0000ff;\">=\"true\"<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">         <span style=\"color: #ff0000;\">data-val-required<\/span><span style=\"color: #0000ff;\">=\"The Contoh Date Time field is required.\"<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">         <span style=\"color: #ff0000;\">id<\/span><span style=\"color: #0000ff;\">=\"ContohDateTime\"<\/span> <span style=\"color: #ff0000;\">name<\/span><span style=\"color: #0000ff;\">=\"ContohDateTime\"<\/span> <span style=\"color: #ff0000;\">value<\/span><span style=\"color: #0000ff;\">=\"\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">for<\/span><span style=\"color: #0000ff;\">=\"ContohNumber\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>Contoh Number<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">type<\/span><span style=\"color: #0000ff;\">=\"text\"<\/span> <span style=\"color: #ff0000;\">data-val<\/span><span style=\"color: #0000ff;\">=\"true\"<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">         <span style=\"color: #ff0000;\">data-val-number<\/span><span style=\"color: #0000ff;\">=\"The field Contoh Number must be a number.\"<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">         <span style=\"color: #ff0000;\">data-val-required<\/span><span style=\"color: #0000ff;\">=\"The Contoh Number field is required.\"<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">         <span style=\"color: #ff0000;\">id<\/span><span style=\"color: #0000ff;\">=\"ContohNumber\"<\/span> <span style=\"color: #ff0000;\">name<\/span><span style=\"color: #0000ff;\">=\"ContohNumber\"<\/span> <span style=\"color: #ff0000;\">value<\/span><span style=\"color: #0000ff;\">=\"\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">for<\/span><span style=\"color: #0000ff;\">=\"ContohBoolean\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>Contoh Boolean<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">data-val<\/span><span style=\"color: #0000ff;\">=\"true\"<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">         <span style=\"color: #ff0000;\">data-val-required<\/span><span style=\"color: #0000ff;\">=\"The Contoh Boolean field is required.\"<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">         <span style=\"color: #ff0000;\">id<\/span><span style=\"color: #0000ff;\">=\"ContohBoolean\"<\/span> <span style=\"color: #ff0000;\">name<\/span><span style=\"color: #0000ff;\">=\"ContohBoolean\"<\/span> <span style=\"color: #ff0000;\">type<\/span><span style=\"color: #0000ff;\">=\"checkbox\"<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">         <span style=\"color: #ff0000;\">value<\/span><span style=\"color: #0000ff;\">=\"true\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">button<\/span> <span style=\"color: #ff0000;\">type<\/span><span style=\"color: #0000ff;\">=\"submit\"<\/span> <span style=\"color: #ff0000;\">class<\/span><span style=\"color: #0000ff;\">=\"btn btn-success\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>Submit<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">button<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">form<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<\/div>\n<\/div>\n<p>Dari hasil render di atas dapat dilihat secara otomatis telah ditambahkan atribut-atribut pada setiap elemen input sesuai dengan tipe datanya.<\/p>\n<p>Tag helper input juga dapat membaca atribut pada setiap property pada class model untuk menentukan tipe input yang akan digunakan. Berikut ini adalah contoh model yang menggunakan atribut untuk menentukan tipe data untuk property.<\/p>\n<div id=\"codeSnippetWrapper\" style=\"font-size: 8pt; overflow: auto; cursor: text; font-family: 'Courier New', courier, monospace; width: 97.5%; direction: ltr; text-align: left; margin: 20px 0px 10px; line-height: 12pt; max-height: 200px; background-color: #f4f4f4; border: silver 1px solid; padding: 4px;\">\n<div id=\"codeSnippet\" style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><span style=\"color: #0000ff;\">using<\/span> System;<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><span style=\"color: #0000ff;\">using<\/span> System.ComponentModel.DataAnnotations;<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><span style=\"color: #0000ff;\">namespace<\/span> EFCoreBookStore.Models<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">{<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">    <span style=\"color: #0000ff;\">public<\/span> <span style=\"color: #0000ff;\">partial<\/span> <span style=\"color: #0000ff;\">class<\/span> ContohAtributModel{<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">        [Display(Name =<span style=\"color: #006080;\">\"Contoh Email\"<\/span>)]<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">        [EmailAddressAttribute]<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">        <span style=\"color: #0000ff;\">public<\/span> String ContohEmail{set; get;}<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">        [Display(Name =<span style=\"color: #006080;\">\"Contoh URL\"<\/span>)]<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">        [UrlAttribute]<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">        <span style=\"color: #0000ff;\">public<\/span> String ContohUrl{set; get;}<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">        [Display(Name =<span style=\"color: #006080;\">\"Contoh Phone\"<\/span>)]<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">        [PhoneAttribute]<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">        <span style=\"color: #0000ff;\">public<\/span> String ContohPhone{set; get;}<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">        [Display(Name =<span style=\"color: #006080;\">\"Contoh Password\"<\/span>)]<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">        [DataType(DataType.Password)]<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">        <span style=\"color: #0000ff;\">public<\/span> String ContohPassword{set; get;}<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">        [Display(Name =<span style=\"color: #006080;\">\"Contoh Date\"<\/span>)]<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">        [DataType(DataType.Date)]<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">        <span style=\"color: #0000ff;\">public<\/span> DateTime ContohDate{set; get;}<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">        [Display(Name =<span style=\"color: #006080;\">\"Contoh Time\"<\/span>)]<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">        [DataType(DataType.Time)]<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">        <span style=\"color: #0000ff;\">public<\/span> DateTime ContohTime{set; get;}<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">    }<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">}<\/pre>\n<p><!--CRLF--><\/p>\n<\/div>\n<\/div>\n<p>Dan berikut ini adalah contoh penggunaan tag helper input untuk class model di atas.<\/p>\n<div id=\"codeSnippetWrapper\" style=\"font-size: 8pt; overflow: auto; cursor: text; font-family: 'Courier New', courier, monospace; width: 97.5%; direction: ltr; text-align: left; margin: 20px 0px 10px; line-height: 12pt; max-height: 200px; background-color: #f4f4f4; border: silver 1px solid; padding: 4px;\">\n<div id=\"codeSnippet\" style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">@model EFCoreBookStore.Models.ContohAtributModel<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">form<\/span> <span style=\"color: #ff0000;\">asp-controller<\/span><span style=\"color: #0000ff;\">=\"Latihan\"<\/span> <span style=\"color: #ff0000;\">asp-action<\/span><span style=\"color: #0000ff;\">=\"Template\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohEmail\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohEmail\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohUrl\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohUrl\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohPhone\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohPhone\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohPassword\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohPassword\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohDate\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohDate\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohTime\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohTime\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">button<\/span> <span style=\"color: #ff0000;\">type<\/span><span style=\"color: #0000ff;\">=\"submit\"<\/span> <span style=\"color: #ff0000;\">class<\/span><span style=\"color: #0000ff;\">=\"btn btn-success\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>Submit<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">button<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">form<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<\/div>\n<\/div>\n<p>Kode di atas akan menghasilkan antarmuka seperti pada gambar di bawah ini.<\/p>\n<p><a href=\"http:\/\/www.rezafaisal.net\/wp-content\/uploads\/2017\/03\/image.png\"><img loading=\"lazy\" decoding=\"async\" style=\"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;\" title=\"image\" src=\"http:\/\/www.rezafaisal.net\/wp-content\/uploads\/2017\/03\/image_thumb.png\" alt=\"image\" width=\"550\" height=\"284\" border=\"0\" \/><\/a><\/p>\n<p>Dan berikut ini adalah hasil render HTML dari contoh tag helper di atas.<\/p>\n<div id=\"codeSnippetWrapper\" style=\"font-size: 8pt; overflow: auto; cursor: text; font-family: 'Courier New', courier, monospace; width: 97.5%; direction: ltr; text-align: left; margin: 20px 0px 10px; line-height: 12pt; max-height: 200px; background-color: #f4f4f4; border: silver 1px solid; padding: 4px;\">\n<div id=\"codeSnippet\" style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">form<\/span> <span style=\"color: #ff0000;\">action<\/span><span style=\"color: #0000ff;\">=\"\/Latihan\/Template\"<\/span> <span style=\"color: #ff0000;\">method<\/span><span style=\"color: #0000ff;\">=\"post\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">for<\/span><span style=\"color: #0000ff;\">=\"ContohEmail\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>Contoh Email<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">type<\/span><span style=\"color: #0000ff;\">=\"email\"<\/span> <span style=\"color: #ff0000;\">data-val<\/span><span style=\"color: #0000ff;\">=\"true\"<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">      <span style=\"color: #ff0000;\">data-val-email<\/span><span style=\"color: #0000ff;\">=\"The Contoh Email field is not a valid e-mail address.\"<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">      <span style=\"color: #ff0000;\">id<\/span><span style=\"color: #0000ff;\">=\"ContohEmail\"<\/span> <span style=\"color: #ff0000;\">name<\/span><span style=\"color: #0000ff;\">=\"ContohEmail\"<\/span> <span style=\"color: #ff0000;\">value<\/span><span style=\"color: #0000ff;\">=\"\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">for<\/span><span style=\"color: #0000ff;\">=\"ContohUrl\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>Contoh URL<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">type<\/span><span style=\"color: #0000ff;\">=\"url\"<\/span> <span style=\"color: #ff0000;\">data-val<\/span><span style=\"color: #0000ff;\">=\"true\"<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">         <span style=\"color: #ff0000;\">data-val-url<\/span><span style=\"color: #0000ff;\">=\"The Contoh URL field is not a valid fully-qualified http, https, or ftp URL.\"<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">         <span style=\"color: #ff0000;\">id<\/span><span style=\"color: #0000ff;\">=\"ContohUrl\"<\/span> <span style=\"color: #ff0000;\">name<\/span><span style=\"color: #0000ff;\">=\"ContohUrl\"<\/span> <span style=\"color: #ff0000;\">value<\/span><span style=\"color: #0000ff;\">=\"\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">for<\/span><span style=\"color: #0000ff;\">=\"ContohPhone\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>Contoh Phone<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">type<\/span><span style=\"color: #0000ff;\">=\"tel\"<\/span> <span style=\"color: #ff0000;\">data-val<\/span><span style=\"color: #0000ff;\">=\"true\"<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">        <span style=\"color: #ff0000;\">data-val-phone<\/span><span style=\"color: #0000ff;\">=\"The Contoh Phone field is not a valid phone number.\"<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">        <span style=\"color: #ff0000;\">id<\/span><span style=\"color: #0000ff;\">=\"ContohPhone\"<\/span> <span style=\"color: #ff0000;\">name<\/span><span style=\"color: #0000ff;\">=\"ContohPhone\"<\/span> <span style=\"color: #ff0000;\">value<\/span><span style=\"color: #0000ff;\">=\"\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">for<\/span><span style=\"color: #0000ff;\">=\"ContohPassword\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>Contoh Password<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">type<\/span><span style=\"color: #0000ff;\">=\"password\"<\/span> <span style=\"color: #ff0000;\">id<\/span><span style=\"color: #0000ff;\">=\"ContohPassword\"<\/span> <span style=\"color: #ff0000;\">name<\/span><span style=\"color: #0000ff;\">=\"ContohPassword\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">for<\/span><span style=\"color: #0000ff;\">=\"ContohDate\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>Contoh Date<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">type<\/span><span style=\"color: #0000ff;\">=\"date\"<\/span> <span style=\"color: #ff0000;\">data-val<\/span><span style=\"color: #0000ff;\">=\"true\"<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">         <span style=\"color: #ff0000;\">data-val-required<\/span><span style=\"color: #0000ff;\">=\"The Contoh Date field is required.\"<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">         <span style=\"color: #ff0000;\">id<\/span><span style=\"color: #0000ff;\">=\"ContohDate\"<\/span> <span style=\"color: #ff0000;\">name<\/span><span style=\"color: #0000ff;\">=\"ContohDate\"<\/span> <span style=\"color: #ff0000;\">value<\/span><span style=\"color: #0000ff;\">=\"\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">for<\/span><span style=\"color: #0000ff;\">=\"ContohTime\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>Contoh Time<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">type<\/span><span style=\"color: #0000ff;\">=\"time\"<\/span> <span style=\"color: #ff0000;\">data-val<\/span><span style=\"color: #0000ff;\">=\"true\"<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">         <span style=\"color: #ff0000;\">data-val-required<\/span><span style=\"color: #0000ff;\">=\"The Contoh Time field is required.\"<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\">         <span style=\"color: #ff0000;\">id<\/span><span style=\"color: #0000ff;\">=\"ContohTime\"<\/span> <span style=\"color: #ff0000;\">name<\/span><span style=\"color: #0000ff;\">=\"ContohTime\"<\/span> <span style=\"color: #ff0000;\">value<\/span><span style=\"color: #0000ff;\">=\"\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">br<\/span><span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">  <span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">button<\/span> <span style=\"color: #ff0000;\">type<\/span><span style=\"color: #0000ff;\">=\"submit\"<\/span> <span style=\"color: #ff0000;\">class<\/span><span style=\"color: #0000ff;\">=\"btn btn-success\"<\/span><span style=\"color: #0000ff;\">&gt;<\/span>Submit<span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">button<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><span style=\"color: #0000ff;\">&lt;\/<\/span><span style=\"color: #800000;\">form<\/span><span style=\"color: #0000ff;\">&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<\/div>\n<\/div>\n<p>Dari contoh di atas dapat dilihat bagaimana secara otomatis tag helper input memberikan atribut HTML sesuai dengan atribut property class model.<\/p>\n<p>Walau pada contoh di atas diperlihatkan cara kerja otomatis tag helper input untuk menentukan nilai atribut type, tetapi developer tetap dapat memberikan nilai atribut type secara manual. Misalnya dapat dilihat pada contoh di bawah ini.<\/p>\n<div id=\"codeSnippetWrapper\" style=\"font-size: 8pt; overflow: auto; cursor: text; font-family: 'Courier New', courier, monospace; width: 97.5%; direction: ltr; text-align: left; margin: 20px 0px 10px; line-height: 12pt; max-height: 200px; background-color: #f4f4f4; border: silver 1px solid; padding: 4px;\">\n<div id=\"codeSnippet\" style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\">\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: white; border-style: none; padding: 0px;\"><span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">label<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohPassword\"<\/span><span style=\"color: #0000ff;\">&gt;&lt;\/<\/span><span style=\"color: #800000;\">label<\/span><span style=\"color: #0000ff;\">&gt;<\/span>:<\/pre>\n<p><!--CRLF--><\/p>\n<pre style=\"font-size: 8pt; overflow: visible; font-family: 'Courier New', courier, monospace; width: 100%; color: black; direction: ltr; text-align: left; margin: 0em; line-height: 12pt; background-color: #f4f4f4; border-style: none; padding: 0px;\"><span style=\"color: #0000ff;\">&lt;<\/span><span style=\"color: #800000;\">input<\/span> <span style=\"color: #ff0000;\">asp-for<\/span><span style=\"color: #0000ff;\">=\"ContohPassword\"<\/span> <span style=\"color: #ff0000;\">type<\/span><span style=\"color: #0000ff;\">=\"password\"<\/span> <span style=\"color: #0000ff;\">\/&gt;<\/span><\/pre>\n<p><!--CRLF--><\/p>\n<\/div>\n<\/div>\n<p>Dari penjelasan dan contoh-contoh di atas dapat dilihat tag helper input dapat bekerja secara otamatis untuk menentukan atribut-atribut didalamnya berdasarkan tipe data atau atribut yang dimiliki oleh property class model.<\/p>\n<p>Selamat mencoba.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pada posting sebelumnya telah dibahas tentang dasar-dasar tag helper dan perbedaannya dengan HTML helper yang dapat dilihat pada dua link berikut ini: http:\/\/www.rezafaisal.net\/?p=3267. http:\/\/www.rezafaisal.net\/?p=3271. Elemen &lt;input&gt; pada tag HTML dapat digunakan untuk beberapa tipe input, yaitu: Text untuk input teks.&hellip;<\/p>\n","protected":false},"author":1,"featured_media":3276,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[6],"tags":[68,160],"class_list":["post-3277","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-softwaredev","tag-asp-net","tag-asp-net-core"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"http:\/\/www.rezafaisal.net\/wp-content\/uploads\/2017\/03\/image_thumb.png","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p1sNAL-QR","_links":{"self":[{"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=\/wp\/v2\/posts\/3277","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3277"}],"version-history":[{"count":4,"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=\/wp\/v2\/posts\/3277\/revisions"}],"predecessor-version":[{"id":3281,"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=\/wp\/v2\/posts\/3277\/revisions\/3281"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=\/wp\/v2\/media\/3276"}],"wp:attachment":[{"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3277"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3277"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.rezafaisal.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3277"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}