{"id":273,"date":"2017-08-22T23:55:23","date_gmt":"2017-08-22T14:55:23","guid":{"rendered":"http:\/\/reasty.net\/?p=273"},"modified":"2017-08-22T23:55:23","modified_gmt":"2017-08-22T14:55:23","slug":"28%ec%9e%a5-%ed%8f%bc-%ec%9c%a0%ed%9a%a8%ec%84%b1-%ea%b2%80%ec%82%ac%ec%99%80-%eb%aa%a8%eb%8d%b8-%eb%b0%94%ec%9d%b8%eb%94%a9","status":"publish","type":"post","link":"https:\/\/reasty.net\/?p=273","title":{"rendered":"28\uc7a5 \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac\uc640 \ubaa8\ub378 \ubc14\uc778\ub529"},"content":{"rendered":"<h1>28.1. \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac<\/h1>\n<p>\ub2e4\uc591\ud55c \uc785\ub825\uac12 Validation \ubc29\ubc95<\/p>\n<ul>\n<li>\uc21c\uc218 HTML \ubc0f \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8 \uc0ac\uc6a9<\/li>\n<li>\ud0dc\uadf8 \ud5ec\ud37c \uc0ac\uc6a9<\/li>\n<li>System.ComponentModel.DataAnnotations \ub124\uc784\uc2a4\ud398\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubaa8\ub378 \ucc28\uc6d0\uc5d0\uc11c \uc720\ud6a8\uc131 \uac80\uc0ac\ub97c \uc9c0\uc6d0\ud55c\ub2e4.<\/li>\n<\/ul>\n<h1>28.2. \ubaa8\ub378 \uba54\ud0c0\ub370\uc774\ud130<\/h1>\n<p>\uc790\uc8fc \uc0ac\uc6a9\ub418\ub294 \ubaa8\ub378 \uba54\ud0c0\ub370\uc774\ud130<\/p>\n<ul>\n<li>Required &#8211; \ud544\uc218 \uc785\ub825\uc694\uc18c, SQL \uc81c\uc57d \uc870\uac74\uc758 NOT NULL<\/li>\n<li>StringLength &#8211; \ubb38\uc790\uc5f4\uc758 \uae38\uc774\uc81c\ud55c<\/li>\n<li>Display &#8211; \ub808\uc774\ube14 \ub4f1\uc5d0 \ud45c\uc2dc\ud560 \ud14d\uc2a4\ud2b8<\/li>\n<li>DataType &#8211; \uc554\ud638 \ub610\ub294 \uc774\uba54\uc77c \ud615\uc2dd\uc744 \uc9c0\uc815<\/li>\n<li>MinLength &#8211; \ubb38\uc790\uc5f4 \ucd5c\uc18c\uae38\uc774 \uc9c0\uc815<\/li>\n<li>MaxLengh &#8211; \ubb38\uc790\uc5f4 \ucd5c\ub300\uae30\uc774 \uc9c0\uc815<\/li>\n<li>RegularExpression &#8211; \uc815\uaddc\uc2dd\uc744 \uc0ac\uc6a9\ud574 \uc81c\uc57d \uc870\uac74 \ubd80\uc5ec<\/li>\n<li>Range &#8211; \ubc94\uc704 \uc9c0\uc815<\/li>\n<li>Compare &#8211; \ud2b9\uc815\uac12\uacfc \ube44\uad50, \uc554\ud638 \ud655\uc778 \uc6a9\ub3c4\ub85c \uc8fc\ub85c \uc0ac\uc6a9<\/li>\n<\/ul>\n<h1>28.3. \uac15\ub825\ud55c \ud615\uc2dd\uc758 \ubdf0<\/h1>\n<p><em><strong>@model<\/strong><\/em> \ud0a4\uc6cc\ub4dc\ub97c \uc0ac\uc6a9\ud558\uc5ec \ud574\ub2f9 \ubdf0\uc5d0\uc11c \uc0ac\uc6a9\ud560 \ubaa8\ub378 \ud074\ub798\uc2a4\ub97c \uc9c0\uc815\ud55c\ub2e4.<\/p>\n<h1>28.4. \ubaa8\ub378 \ubc14\uc778\ub529<\/h1>\n<p><em>HttpPost<\/em>\ub85c \uc804\uc1a1\ub41c \ub370\uc774\ud130\ub97c C#\uc758 \ubaa8\ub378 \ud074\ub798\uc2a4\uc5d0 \ub2f4\uc544\uc11c \uc561\uc158 \uba54\uc11c\ub4dc\uc5d0 \uc804\ub2ec\ud558\ub294 \uae30\ubc95.<br \/>\n\ud3fc \uceec\ub809\uc158\uacfc \ucffc\ub9ac \uc2a4\ud2b8\ub9c1\uc744 \ubd84\uc11d\ud574\uc11c <strong>\uc561\uc158 \uba54\uc11c\ub4dc\uc758 \ub9e4\uac1c \ubcc0\uc218\uc5d0 \ub9e4\ud551<\/strong>\ud574\uc8fc\ub294 \uae30\ub2a5\uc744 \uc81c\uacf5\ud55c\ub2e4.<\/p>\n<h2>28.4.1. ModelState.IsValid \uc18d\uc131<\/h2>\n<p><em>HttpPost<\/em>\ub85c \uc804\uc1a1\ub41c \ub370\uc774\ud130\uac00 \ubaa8\ub378\uc5d0\uc11c \uc81c\uc2dc\ud55c \uc720\ud6a8\uc131 \uac80\uc0ac\ub97c \ud1b5\uacfc\ud588\ub294\uc9c0 \uc548\ud588\ub294\uc9c0\ub97c \ud310\ub2e8\ud558\ub294 \uc18d\uc131. <strong>(\uc11c\ubc84\uce21 \uc720\ud6a8\uc131 \uac80\uc0ac)<\/strong><\/p>\n<h1>28.5. \uc2e4\uc2b5<\/h1>\n<p>\ubaa8\ub378 \ubc14\uc778\ub529 : \uac01\uac01\uc758 \ub9e4\uac1c \ubcc0\uc218\ub97c \uadf8\uc640 \uc774\ub984\uc774 \uac19\uc740 \ubaa8\ub378 \ud074\ub798\uc2a4\uc758 \uc18d\uc131\uc73c\ub85c \uc790\ub3d9\uc73c\ub85c \uc5f0\uacb0\ud574 \uc8fc\ub294 \uae30\ub2a5<\/p>\n<p>@Html.TextBoxFor() \ud5ec\ud37c \uba54\uc11c\ub4dc\uc5d0 \uc758\ud574 <em>data-val-required<\/em> \ucc98\ub7fc <strong><em>data-<\/em><\/strong>\ub85c \uc2dc\uc791\ud558\ub294 <strong>\ucee4\uc2a4\ud140 \uc18d\uc131<\/strong>\uc774 \ucd94\uac00\ub41c\ub2e4. \uc774\ub7ec\ud55c \uc18d\uc131\uc740 \ud074\ub77c\uc774\uc5b8\ud2b8 \uae30\ubc18 \uc720\ud6a8\uc131 \uac80\uc0ac\ub97c \uc9c4\ud589\ud560 \ub54c \uc720\uc6a9\ud558\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>28.1. \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac \ub2e4\uc591\ud55c \uc785\ub825\uac12 Validation \ubc29\ubc95 \uc21c\uc218 HTML \ubc0f \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8 \uc0ac\uc6a9 \ud0dc\uadf8 \ud5ec\ud37c \uc0ac\uc6a9 System.ComponentModel.DataAnnotations \ub124\uc784\uc2a4\ud398\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubaa8\ub378 \ucc28\uc6d0\uc5d0\uc11c \uc720\ud6a8\uc131 \uac80\uc0ac\ub97c \uc9c0\uc6d0\ud55c\ub2e4. 28.2. \ubaa8\ub378 \uba54\ud0c0\ub370\uc774\ud130 \uc790\uc8fc \uc0ac\uc6a9\ub418\ub294 \ubaa8\ub378 \uba54\ud0c0\ub370\uc774\ud130 Required &#8211; \ud544\uc218 \uc785\ub825\uc694\uc18c, SQL \uc81c\uc57d \uc870\uac74\uc758 NOT NULL StringLength &#8211; \ubb38\uc790\uc5f4\uc758 \uae38\uc774\uc81c\ud55c Display &#8211; \ub808\uc774\ube14 \ub4f1\uc5d0 \ud45c\uc2dc\ud560 \ud14d\uc2a4\ud2b8 DataType &#8211; \uc554\ud638 \ub610\ub294 \uc774\uba54\uc77c \ud615\uc2dd\uc744 \uc9c0\uc815 MinLength &#8211; \ubb38\uc790\uc5f4&#8230; <a href=\"https:\/\/reasty.net\/?p=273\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[13,14],"tags":[18,19,21],"class_list":["post-273","post","type-post","status-publish","format-standard","hentry","category-asp-net-core","category-asp-net-core-net","tag-asp-net-core","tag-asp-net-korea-study-group","tag-c"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"28.1. \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac \ub2e4\uc591\ud55c \uc785\ub825\uac12 Validation \ubc29\ubc95 \uc21c\uc218 HTML \ubc0f \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8 \uc0ac\uc6a9 \ud0dc\uadf8 \ud5ec\ud37c \uc0ac\uc6a9 System.ComponentModel.DataAnnotations \ub124\uc784\uc2a4\ud398\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubaa8\ub378 \ucc28\uc6d0\uc5d0\uc11c \uc720\ud6a8\uc131 \uac80\uc0ac\ub97c \uc9c0\uc6d0\ud55c\ub2e4. 28.2. \ubaa8\ub378 \uba54\ud0c0\ub370\uc774\ud130 \uc790\uc8fc \uc0ac\uc6a9\ub418\ub294 \ubaa8\ub378 \uba54\ud0c0\ub370\uc774\ud130 Required - \ud544\uc218 \uc785\ub825\uc694\uc18c, SQL \uc81c\uc57d \uc870\uac74\uc758 NOT NULL StringLength - \ubb38\uc790\uc5f4\uc758 \uae38\uc774\uc81c\ud55c Display - \ub808\uc774\ube14 \ub4f1\uc5d0 \ud45c\uc2dc\ud560 \ud14d\uc2a4\ud2b8 DataType - \uc554\ud638 \ub610\ub294 \uc774\uba54\uc77c\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Reasty\"\/>\n\t<meta name=\"google-site-verification\" content=\"jcPlHP_CH1l7BsKhhCYbJmc3sJMEMI_aCypCiUfTjdw\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/reasty.net\/?p=273\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"ko_KR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Reasty&#039;s Programming Memories - \ub808\uc2a4\ud2f0\uc758 \ud504\ub85c\uadf8\ub798\ubc0d \ub178\ud558\uc6b0 \ub178\uc6e8\uc5b4\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"28\uc7a5 \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac\uc640 \ubaa8\ub378 \ubc14\uc778\ub529 - Reasty&#039;s Programming Memories\" \/>\n\t\t<meta property=\"og:description\" content=\"28.1. \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac \ub2e4\uc591\ud55c \uc785\ub825\uac12 Validation \ubc29\ubc95 \uc21c\uc218 HTML \ubc0f \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8 \uc0ac\uc6a9 \ud0dc\uadf8 \ud5ec\ud37c \uc0ac\uc6a9 System.ComponentModel.DataAnnotations \ub124\uc784\uc2a4\ud398\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubaa8\ub378 \ucc28\uc6d0\uc5d0\uc11c \uc720\ud6a8\uc131 \uac80\uc0ac\ub97c \uc9c0\uc6d0\ud55c\ub2e4. 28.2. \ubaa8\ub378 \uba54\ud0c0\ub370\uc774\ud130 \uc790\uc8fc \uc0ac\uc6a9\ub418\ub294 \ubaa8\ub378 \uba54\ud0c0\ub370\uc774\ud130 Required - \ud544\uc218 \uc785\ub825\uc694\uc18c, SQL \uc81c\uc57d \uc870\uac74\uc758 NOT NULL StringLength - \ubb38\uc790\uc5f4\uc758 \uae38\uc774\uc81c\ud55c Display - \ub808\uc774\ube14 \ub4f1\uc5d0 \ud45c\uc2dc\ud560 \ud14d\uc2a4\ud2b8 DataType - \uc554\ud638 \ub610\ub294 \uc774\uba54\uc77c\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/reasty.net\/?p=273\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2017-08-22T14:55:23+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2017-08-22T14:55:23+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/reastykim\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@reastykim\" \/>\n\t\t<meta name=\"twitter:title\" content=\"28\uc7a5 \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac\uc640 \ubaa8\ub378 \ubc14\uc778\ub529 - Reasty&#039;s Programming Memories\" \/>\n\t\t<meta name=\"twitter:description\" content=\"28.1. \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac \ub2e4\uc591\ud55c \uc785\ub825\uac12 Validation \ubc29\ubc95 \uc21c\uc218 HTML \ubc0f \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8 \uc0ac\uc6a9 \ud0dc\uadf8 \ud5ec\ud37c \uc0ac\uc6a9 System.ComponentModel.DataAnnotations \ub124\uc784\uc2a4\ud398\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubaa8\ub378 \ucc28\uc6d0\uc5d0\uc11c \uc720\ud6a8\uc131 \uac80\uc0ac\ub97c \uc9c0\uc6d0\ud55c\ub2e4. 28.2. \ubaa8\ub378 \uba54\ud0c0\ub370\uc774\ud130 \uc790\uc8fc \uc0ac\uc6a9\ub418\ub294 \ubaa8\ub378 \uba54\ud0c0\ub370\uc774\ud130 Required - \ud544\uc218 \uc785\ub825\uc694\uc18c, SQL \uc81c\uc57d \uc870\uac74\uc758 NOT NULL StringLength - \ubb38\uc790\uc5f4\uc758 \uae38\uc774\uc81c\ud55c Display - \ub808\uc774\ube14 \ub4f1\uc5d0 \ud45c\uc2dc\ud560 \ud14d\uc2a4\ud2b8 DataType - \uc554\ud638 \ub610\ub294 \uc774\uba54\uc77c\" \/>\n\t\t<meta name=\"twitter:creator\" content=\"@reastykim\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/reasty.net\\\/?p=273#blogposting\",\"name\":\"28\\uc7a5 \\ud3fc \\uc720\\ud6a8\\uc131 \\uac80\\uc0ac\\uc640 \\ubaa8\\ub378 \\ubc14\\uc778\\ub529 - Reasty's Programming Memories\",\"headline\":\"28\\uc7a5 \\ud3fc \\uc720\\ud6a8\\uc131 \\uac80\\uc0ac\\uc640 \\ubaa8\\ub378 \\ubc14\\uc778\\ub529\",\"author\":{\"@id\":\"https:\\\/\\\/reasty.net\\\/?author=1#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/reasty.net\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/reasty.net\\\/?p=273#articleImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5b441925fb88cfa3ff962d797c048671a3ef20a01d85a4de1feadc32d00b2d89?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Reasty\"},\"datePublished\":\"2017-08-22T23:55:23+09:00\",\"dateModified\":\"2017-08-22T23:55:23+09:00\",\"inLanguage\":\"ko-KR\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/reasty.net\\\/?p=273#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/reasty.net\\\/?p=273#webpage\"},\"articleSection\":\"ASP.NET Core, ASP.NET Core, ASP.NET Core, ASP.NET Korea Study Group, C#\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/reasty.net\\\/?p=273#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/reasty.net#listItem\",\"position\":1,\"name\":\"\\ud648\",\"item\":\"https:\\\/\\\/reasty.net\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/reasty.net\\\/?cat=9#listItem\",\"name\":\"Study\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/reasty.net\\\/?cat=9#listItem\",\"position\":2,\"name\":\"Study\",\"item\":\"https:\\\/\\\/reasty.net\\\/?cat=9\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/reasty.net\\\/?cat=13#listItem\",\"name\":\"ASP.NET Core\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/reasty.net#listItem\",\"name\":\"\\ud648\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/reasty.net\\\/?cat=13#listItem\",\"position\":3,\"name\":\"ASP.NET Core\",\"item\":\"https:\\\/\\\/reasty.net\\\/?cat=13\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/reasty.net\\\/?p=273#listItem\",\"name\":\"28\\uc7a5 \\ud3fc \\uc720\\ud6a8\\uc131 \\uac80\\uc0ac\\uc640 \\ubaa8\\ub378 \\ubc14\\uc778\\ub529\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/reasty.net\\\/?cat=9#listItem\",\"name\":\"Study\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/reasty.net\\\/?p=273#listItem\",\"position\":4,\"name\":\"28\\uc7a5 \\ud3fc \\uc720\\ud6a8\\uc131 \\uac80\\uc0ac\\uc640 \\ubaa8\\ub378 \\ubc14\\uc778\\ub529\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/reasty.net\\\/?cat=13#listItem\",\"name\":\"ASP.NET Core\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/reasty.net\\\/#person\",\"name\":\"Reasty\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/reasty.net\\\/?p=273#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5b441925fb88cfa3ff962d797c048671a3ef20a01d85a4de1feadc32d00b2d89?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Reasty\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/reasty.net\\\/?author=1#author\",\"url\":\"https:\\\/\\\/reasty.net\\\/?author=1\",\"name\":\"Reasty\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/reasty.net\\\/?p=273#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5b441925fb88cfa3ff962d797c048671a3ef20a01d85a4de1feadc32d00b2d89?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Reasty\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/reasty.net\\\/?p=273#webpage\",\"url\":\"https:\\\/\\\/reasty.net\\\/?p=273\",\"name\":\"28\\uc7a5 \\ud3fc \\uc720\\ud6a8\\uc131 \\uac80\\uc0ac\\uc640 \\ubaa8\\ub378 \\ubc14\\uc778\\ub529 - Reasty's Programming Memories\",\"description\":\"28.1. \\ud3fc \\uc720\\ud6a8\\uc131 \\uac80\\uc0ac \\ub2e4\\uc591\\ud55c \\uc785\\ub825\\uac12 Validation \\ubc29\\ubc95 \\uc21c\\uc218 HTML \\ubc0f \\uc790\\ubc14\\uc2a4\\ud06c\\ub9bd\\ud2b8 \\uc0ac\\uc6a9 \\ud0dc\\uadf8 \\ud5ec\\ud37c \\uc0ac\\uc6a9 System.ComponentModel.DataAnnotations \\ub124\\uc784\\uc2a4\\ud398\\uc774\\uc2a4\\ub97c \\uc0ac\\uc6a9\\ud558\\uc5ec \\ubaa8\\ub378 \\ucc28\\uc6d0\\uc5d0\\uc11c \\uc720\\ud6a8\\uc131 \\uac80\\uc0ac\\ub97c \\uc9c0\\uc6d0\\ud55c\\ub2e4. 28.2. \\ubaa8\\ub378 \\uba54\\ud0c0\\ub370\\uc774\\ud130 \\uc790\\uc8fc \\uc0ac\\uc6a9\\ub418\\ub294 \\ubaa8\\ub378 \\uba54\\ud0c0\\ub370\\uc774\\ud130 Required - \\ud544\\uc218 \\uc785\\ub825\\uc694\\uc18c, SQL \\uc81c\\uc57d \\uc870\\uac74\\uc758 NOT NULL StringLength - \\ubb38\\uc790\\uc5f4\\uc758 \\uae38\\uc774\\uc81c\\ud55c Display - \\ub808\\uc774\\ube14 \\ub4f1\\uc5d0 \\ud45c\\uc2dc\\ud560 \\ud14d\\uc2a4\\ud2b8 DataType - \\uc554\\ud638 \\ub610\\ub294 \\uc774\\uba54\\uc77c\",\"inLanguage\":\"ko-KR\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/reasty.net\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/reasty.net\\\/?p=273#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/reasty.net\\\/?author=1#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/reasty.net\\\/?author=1#author\"},\"datePublished\":\"2017-08-22T23:55:23+09:00\",\"dateModified\":\"2017-08-22T23:55:23+09:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/reasty.net\\\/#website\",\"url\":\"https:\\\/\\\/reasty.net\\\/\",\"name\":\"Reasty's Programming Memories\",\"description\":\"\\ub808\\uc2a4\\ud2f0\\uc758 \\ud504\\ub85c\\uadf8\\ub798\\ubc0d \\ub178\\ud558\\uc6b0 \\ub178\\uc6e8\\uc5b4\",\"inLanguage\":\"ko-KR\",\"publisher\":{\"@id\":\"https:\\\/\\\/reasty.net\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"28\uc7a5 \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac\uc640 \ubaa8\ub378 \ubc14\uc778\ub529 - Reasty's Programming Memories","description":"28.1. \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac \ub2e4\uc591\ud55c \uc785\ub825\uac12 Validation \ubc29\ubc95 \uc21c\uc218 HTML \ubc0f \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8 \uc0ac\uc6a9 \ud0dc\uadf8 \ud5ec\ud37c \uc0ac\uc6a9 System.ComponentModel.DataAnnotations \ub124\uc784\uc2a4\ud398\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubaa8\ub378 \ucc28\uc6d0\uc5d0\uc11c \uc720\ud6a8\uc131 \uac80\uc0ac\ub97c \uc9c0\uc6d0\ud55c\ub2e4. 28.2. \ubaa8\ub378 \uba54\ud0c0\ub370\uc774\ud130 \uc790\uc8fc \uc0ac\uc6a9\ub418\ub294 \ubaa8\ub378 \uba54\ud0c0\ub370\uc774\ud130 Required - \ud544\uc218 \uc785\ub825\uc694\uc18c, SQL \uc81c\uc57d \uc870\uac74\uc758 NOT NULL StringLength - \ubb38\uc790\uc5f4\uc758 \uae38\uc774\uc81c\ud55c Display - \ub808\uc774\ube14 \ub4f1\uc5d0 \ud45c\uc2dc\ud560 \ud14d\uc2a4\ud2b8 DataType - \uc554\ud638 \ub610\ub294 \uc774\uba54\uc77c","canonical_url":"https:\/\/reasty.net\/?p=273","robots":"max-image-preview:large","keywords":"","webmasterTools":{"google-site-verification":"jcPlHP_CH1l7BsKhhCYbJmc3sJMEMI_aCypCiUfTjdw","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/reasty.net\/?p=273#blogposting","name":"28\uc7a5 \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac\uc640 \ubaa8\ub378 \ubc14\uc778\ub529 - Reasty's Programming Memories","headline":"28\uc7a5 \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac\uc640 \ubaa8\ub378 \ubc14\uc778\ub529","author":{"@id":"https:\/\/reasty.net\/?author=1#author"},"publisher":{"@id":"https:\/\/reasty.net\/#person"},"image":{"@type":"ImageObject","@id":"https:\/\/reasty.net\/?p=273#articleImage","url":"https:\/\/secure.gravatar.com\/avatar\/5b441925fb88cfa3ff962d797c048671a3ef20a01d85a4de1feadc32d00b2d89?s=96&d=mm&r=g","width":96,"height":96,"caption":"Reasty"},"datePublished":"2017-08-22T23:55:23+09:00","dateModified":"2017-08-22T23:55:23+09:00","inLanguage":"ko-KR","mainEntityOfPage":{"@id":"https:\/\/reasty.net\/?p=273#webpage"},"isPartOf":{"@id":"https:\/\/reasty.net\/?p=273#webpage"},"articleSection":"ASP.NET Core, ASP.NET Core, ASP.NET Core, ASP.NET Korea Study Group, C#"},{"@type":"BreadcrumbList","@id":"https:\/\/reasty.net\/?p=273#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/reasty.net#listItem","position":1,"name":"\ud648","item":"https:\/\/reasty.net","nextItem":{"@type":"ListItem","@id":"https:\/\/reasty.net\/?cat=9#listItem","name":"Study"}},{"@type":"ListItem","@id":"https:\/\/reasty.net\/?cat=9#listItem","position":2,"name":"Study","item":"https:\/\/reasty.net\/?cat=9","nextItem":{"@type":"ListItem","@id":"https:\/\/reasty.net\/?cat=13#listItem","name":"ASP.NET Core"},"previousItem":{"@type":"ListItem","@id":"https:\/\/reasty.net#listItem","name":"\ud648"}},{"@type":"ListItem","@id":"https:\/\/reasty.net\/?cat=13#listItem","position":3,"name":"ASP.NET Core","item":"https:\/\/reasty.net\/?cat=13","nextItem":{"@type":"ListItem","@id":"https:\/\/reasty.net\/?p=273#listItem","name":"28\uc7a5 \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac\uc640 \ubaa8\ub378 \ubc14\uc778\ub529"},"previousItem":{"@type":"ListItem","@id":"https:\/\/reasty.net\/?cat=9#listItem","name":"Study"}},{"@type":"ListItem","@id":"https:\/\/reasty.net\/?p=273#listItem","position":4,"name":"28\uc7a5 \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac\uc640 \ubaa8\ub378 \ubc14\uc778\ub529","previousItem":{"@type":"ListItem","@id":"https:\/\/reasty.net\/?cat=13#listItem","name":"ASP.NET Core"}}]},{"@type":"Person","@id":"https:\/\/reasty.net\/#person","name":"Reasty","image":{"@type":"ImageObject","@id":"https:\/\/reasty.net\/?p=273#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/5b441925fb88cfa3ff962d797c048671a3ef20a01d85a4de1feadc32d00b2d89?s=96&d=mm&r=g","width":96,"height":96,"caption":"Reasty"}},{"@type":"Person","@id":"https:\/\/reasty.net\/?author=1#author","url":"https:\/\/reasty.net\/?author=1","name":"Reasty","image":{"@type":"ImageObject","@id":"https:\/\/reasty.net\/?p=273#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/5b441925fb88cfa3ff962d797c048671a3ef20a01d85a4de1feadc32d00b2d89?s=96&d=mm&r=g","width":96,"height":96,"caption":"Reasty"}},{"@type":"WebPage","@id":"https:\/\/reasty.net\/?p=273#webpage","url":"https:\/\/reasty.net\/?p=273","name":"28\uc7a5 \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac\uc640 \ubaa8\ub378 \ubc14\uc778\ub529 - Reasty's Programming Memories","description":"28.1. \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac \ub2e4\uc591\ud55c \uc785\ub825\uac12 Validation \ubc29\ubc95 \uc21c\uc218 HTML \ubc0f \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8 \uc0ac\uc6a9 \ud0dc\uadf8 \ud5ec\ud37c \uc0ac\uc6a9 System.ComponentModel.DataAnnotations \ub124\uc784\uc2a4\ud398\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubaa8\ub378 \ucc28\uc6d0\uc5d0\uc11c \uc720\ud6a8\uc131 \uac80\uc0ac\ub97c \uc9c0\uc6d0\ud55c\ub2e4. 28.2. \ubaa8\ub378 \uba54\ud0c0\ub370\uc774\ud130 \uc790\uc8fc \uc0ac\uc6a9\ub418\ub294 \ubaa8\ub378 \uba54\ud0c0\ub370\uc774\ud130 Required - \ud544\uc218 \uc785\ub825\uc694\uc18c, SQL \uc81c\uc57d \uc870\uac74\uc758 NOT NULL StringLength - \ubb38\uc790\uc5f4\uc758 \uae38\uc774\uc81c\ud55c Display - \ub808\uc774\ube14 \ub4f1\uc5d0 \ud45c\uc2dc\ud560 \ud14d\uc2a4\ud2b8 DataType - \uc554\ud638 \ub610\ub294 \uc774\uba54\uc77c","inLanguage":"ko-KR","isPartOf":{"@id":"https:\/\/reasty.net\/#website"},"breadcrumb":{"@id":"https:\/\/reasty.net\/?p=273#breadcrumblist"},"author":{"@id":"https:\/\/reasty.net\/?author=1#author"},"creator":{"@id":"https:\/\/reasty.net\/?author=1#author"},"datePublished":"2017-08-22T23:55:23+09:00","dateModified":"2017-08-22T23:55:23+09:00"},{"@type":"WebSite","@id":"https:\/\/reasty.net\/#website","url":"https:\/\/reasty.net\/","name":"Reasty's Programming Memories","description":"\ub808\uc2a4\ud2f0\uc758 \ud504\ub85c\uadf8\ub798\ubc0d \ub178\ud558\uc6b0 \ub178\uc6e8\uc5b4","inLanguage":"ko-KR","publisher":{"@id":"https:\/\/reasty.net\/#person"}}]},"og:locale":"ko_KR","og:site_name":"Reasty's Programming Memories - \ub808\uc2a4\ud2f0\uc758 \ud504\ub85c\uadf8\ub798\ubc0d \ub178\ud558\uc6b0 \ub178\uc6e8\uc5b4","og:type":"article","og:title":"28\uc7a5 \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac\uc640 \ubaa8\ub378 \ubc14\uc778\ub529 - Reasty's Programming Memories","og:description":"28.1. \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac \ub2e4\uc591\ud55c \uc785\ub825\uac12 Validation \ubc29\ubc95 \uc21c\uc218 HTML \ubc0f \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8 \uc0ac\uc6a9 \ud0dc\uadf8 \ud5ec\ud37c \uc0ac\uc6a9 System.ComponentModel.DataAnnotations \ub124\uc784\uc2a4\ud398\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubaa8\ub378 \ucc28\uc6d0\uc5d0\uc11c \uc720\ud6a8\uc131 \uac80\uc0ac\ub97c \uc9c0\uc6d0\ud55c\ub2e4. 28.2. \ubaa8\ub378 \uba54\ud0c0\ub370\uc774\ud130 \uc790\uc8fc \uc0ac\uc6a9\ub418\ub294 \ubaa8\ub378 \uba54\ud0c0\ub370\uc774\ud130 Required - \ud544\uc218 \uc785\ub825\uc694\uc18c, SQL \uc81c\uc57d \uc870\uac74\uc758 NOT NULL StringLength - \ubb38\uc790\uc5f4\uc758 \uae38\uc774\uc81c\ud55c Display - \ub808\uc774\ube14 \ub4f1\uc5d0 \ud45c\uc2dc\ud560 \ud14d\uc2a4\ud2b8 DataType - \uc554\ud638 \ub610\ub294 \uc774\uba54\uc77c","og:url":"https:\/\/reasty.net\/?p=273","article:published_time":"2017-08-22T14:55:23+00:00","article:modified_time":"2017-08-22T14:55:23+00:00","article:publisher":"https:\/\/facebook.com\/reastykim","twitter:card":"summary_large_image","twitter:site":"@reastykim","twitter:title":"28\uc7a5 \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac\uc640 \ubaa8\ub378 \ubc14\uc778\ub529 - Reasty's Programming Memories","twitter:description":"28.1. \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac \ub2e4\uc591\ud55c \uc785\ub825\uac12 Validation \ubc29\ubc95 \uc21c\uc218 HTML \ubc0f \uc790\ubc14\uc2a4\ud06c\ub9bd\ud2b8 \uc0ac\uc6a9 \ud0dc\uadf8 \ud5ec\ud37c \uc0ac\uc6a9 System.ComponentModel.DataAnnotations \ub124\uc784\uc2a4\ud398\uc774\uc2a4\ub97c \uc0ac\uc6a9\ud558\uc5ec \ubaa8\ub378 \ucc28\uc6d0\uc5d0\uc11c \uc720\ud6a8\uc131 \uac80\uc0ac\ub97c \uc9c0\uc6d0\ud55c\ub2e4. 28.2. \ubaa8\ub378 \uba54\ud0c0\ub370\uc774\ud130 \uc790\uc8fc \uc0ac\uc6a9\ub418\ub294 \ubaa8\ub378 \uba54\ud0c0\ub370\uc774\ud130 Required - \ud544\uc218 \uc785\ub825\uc694\uc18c, SQL \uc81c\uc57d \uc870\uac74\uc758 NOT NULL StringLength - \ubb38\uc790\uc5f4\uc758 \uae38\uc774\uc81c\ud55c Display - \ub808\uc774\ube14 \ub4f1\uc5d0 \ud45c\uc2dc\ud560 \ud14d\uc2a4\ud2b8 DataType - \uc554\ud638 \ub610\ub294 \uc774\uba54\uc77c","twitter:creator":"@reastykim"},"aioseo_meta_data":{"post_id":"273","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2024-08-10 04:57:22","updated":"2025-06-04 03:14:52","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/reasty.net\" title=\"\ud648\">\ud648<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/reasty.net\/?cat=9\" title=\"Study\">Study<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/reasty.net\/?cat=13\" title=\"ASP.NET Core\">ASP.NET Core<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t28\uc7a5 \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac\uc640 \ubaa8\ub378 \ubc14\uc778\ub529\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"\ud648","link":"https:\/\/reasty.net"},{"label":"Study","link":"https:\/\/reasty.net\/?cat=9"},{"label":"ASP.NET Core","link":"https:\/\/reasty.net\/?cat=13"},{"label":"28\uc7a5 \ud3fc \uc720\ud6a8\uc131 \uac80\uc0ac\uc640 \ubaa8\ub378 \ubc14\uc778\ub529","link":"https:\/\/reasty.net\/?p=273"}],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/reasty.net\/index.php?rest_route=\/wp\/v2\/posts\/273","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/reasty.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/reasty.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/reasty.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/reasty.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=273"}],"version-history":[{"count":0,"href":"https:\/\/reasty.net\/index.php?rest_route=\/wp\/v2\/posts\/273\/revisions"}],"wp:attachment":[{"href":"https:\/\/reasty.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=273"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/reasty.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=273"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/reasty.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=273"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}