dir.by  
  Поиск  
Компьютер, программы
ASP.NET MVC (Model-View-Controller website)
 Аттрибут [Required(ErrorMessage = "Пожалуйста, введите название")] в ASP.NET MVC 
посмотрели 10264 раз
обновлено: 21 May 2020
• Аттрибут Required описывается для свойства в C# классе
Свойство в C# коде связано с текстовым полем на View.
• Аттрибут Required требует чтобы текстовое поле на view было заполнено.
• Если текстовое поле на View не заполнено и мы нажимаем на кнопку submit тогда появляется ошибка ErrorMessage
  C#  
public class Book
{
  ...

  [Required(ErrorMessage = "Пожалуйста, введите название")]
  public string Author { get; set; }

  ...
}
На экране увидим ErrorMessage = Пожалуйста, введите название
  C#  
public class Book
{
     ...

     [Required]
     public string Author { get; set; }

     ...
}
Так как мы не добавили ErrorMessage
то на экране увидим стандартную ошибку
The filed is required
и добавится название нашего поля Author
  C#  
public class Book
{
     ...

     [Required]
     [Display(Name = "Автор книги")]
     public string Author { get; set; }

     ...
}
Так как мы не добавили ErrorMessage
то на экране увидим стандартную ошибку
The filed is required
и добавится название Автор книги
из Display(Name="Автор книги")
Download ASP.NET MVC example
Explanation of the example
Во ViewModels
в классе Book
переменная Author использует атрибут Required
Файл ViewModels/Book.cs
  C#  
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; // namespace for attribute
using System.Linq;
using System.Web;

namespace AspNetWebApplication.ViewModels
{
     public class Book
     {
          [Required]
          [Display(Name = "Автор книги")]
          public string Author { get; set; }

          public int Price { get; set; }
     }
}


На заметку! Хороший стиль программирования это когда, классы которые передаются во View хранить в папке ViewModels ... в приложении ASP.NET MVC
В Controller
Файл Controllers/HomeController.cs
  C#  
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using AspNetWebApplication.ViewModels;

namespace AspNetWebApplication.Controllers
{
     public class HomeController : Controller
     {
          public ActionResult Index()
          {
               return View();
          }

          public ActionResult AddBook(Book book)
          {
               if (!ModelState.IsValid)
               {
                    return View("Index");
               }

               return View();
          }
     }
}
В представлении (View)
Файл Views/Home/Index.cshtml
  cshtml  
@model AspNetWebApplication.ViewModels.Book

@{
     Layout = null;
}

<!DOCTYPE html>

<html>
<head>
     <meta name="viewport" content="width=device-width" />
     <title>Index</title>
</head>

<body>

     @using (Html.BeginForm("AddBook", "Home"))
     {
          @Html.LabelFor(model => model.Author)

          <BR />
    
          @Html.EditorFor(model => model.Author)
          @Html.ValidationMessageFor(model => model.Author, null, new { style = "color:red" })

          <BR />

          <input type="submit" value="Сохранить" />
     }

</body>
</html>
Результат примера
На заметку!
Аттрибут Required при подходе Code First делает поле в базе данных not null
 
← Previous topic
Attribute [Display(Name = "... ")] is described in the C# class and used in @Html.LabelFor, @Html.DisplayNameFor in the MVC ASP.NET
 
Next topic →
The attribute [Remote("IsValidAuthor", "Home", ErrorMessage = "Enter correct author of book")] is described for a property in a C# class and checks that property for correctness on the server via the IsValidAuthor method in conroller Home, if the method returns false, then there will be an ErrorMessage error on the screen in the MVC ASP.NET
 
Your feedback ... Comments ...
   
Your Name
Your comment (www links can only be added by a logged-in user)

 
What is MVC in ASP.NET ?
Creating a new application ASP.NET MVC
Controller
Pass the data from the controller to the view in the MVC ASP.NET. Using ViewBag, ViewData, TempData, Model (strongly typed view)
View
What are Razor View and Operators in MVC ASP.NET
Create a variable and display it in View in the MVC ASP.NET
@using inside View in the MVC ASP.NET
@foreach(var item in arr) {...} inside the View in the MVC ASP.NET
@DateTime.Now inside the View in the MVC ASP.NET
How to find the name of the controller inside the View in the MVC ASP.NET
Display [DateTime | Date only | Time only] in the desired format in the MVC ASP.NET
Views
Strongly-typed-view in MVC ASP.NET
...
Master View using @RenderBody() in the MVC ASP.NET
Master View using @RenderBody() and additional sections @RenderSection in the MVC ASP.NET
...
Partial View in the MVC ASP.NET. Embed a partial representation @Html.Partial("My1") and @{ Html.RenderPartial("My1");}
When you click submit inside the partial view, the controller method is called ajax. The controller method should return PartialView(model) | ASP.NET MVC
...
Strongly-typed partial view in the MVC ASP.NET
Create the ViewModels folder. This is a good programming style for transferring data from the Controller to the View
Create the ViewModels folder. Create your class in the ViewModels folder. This is a good programming style for transferring data from the Controller to the View. Web Application ASP.NET MVC
Attributes. Use the attributes in the ViewModels (to show the combo buttons in the view). Using attributes in the Controller (to improve methods)
Attribute [Display(Name = "... ")] is described in the C# class and used in @Html.LabelFor, @Html.DisplayNameFor in the MVC ASP.NET
The attribute [Required(ErrorMessage = "Please enter a name")] is described for a property in the C# class and requires the property to be populated if the ErrorMessage error in the MVC ASP.NET is not filled in the screen
The attribute [Remote("IsValidAuthor", "Home", ErrorMessage = "Enter correct author of book")] is described for a property in a C# class and checks that property for correctness on the server via the IsValidAuthor method in conroller Home, if the method returns false, then there will be an ErrorMessage error on the screen in the MVC ASP.NET
The [HiddenInput(DisplayValue=false)] attribute is described in the C# class and is used in @Html.HiddenFor in the MVC ASP.NET
Routing
Links and redirects in the view
@Html.ActionLink inside the View in the MVC ASP.NET
@Html.RouteLink inside the View in the MVC ASP.NET
@Url.Action inside the View in the MVC ASP.NET
@Url.RouteUrl inside the View in the MVC ASP.NET
@Url.Content inside the View in the MVC ASP.NET
Bootstrap in MVC
Add and include Bootstrap (css, js files) to ASP.NET MVC project
JQuery in MVC
Connecting JQuery to ASP.NET MVC project
Using JQuery, we get the contents of the View in the MVC ASP.NET. Example: $.get("/Home/Index", function (data) {...}) ...
MVC AjaxExtensions class (asynchronous data retrieval)
Plugging jQuery & AJAX into ASP.NET MVC project
Using Ajax.ActionLink, get the contents of the View and insert it into the div in the MVC ASP.NET
Ajax object (this is the AjaxExtensions class) in MVC ASP.NET
Database (Entity Framework) in MVC ASP.NET
Entity Framework in the ASP.NET MVC application. Using Code First (we write c# code, and the tables in the database are created by ourselves)
Authentication (login/register/logout)
What is authentication (login/register/logout) in the MVC ASP.NET?
Example: Authentication (login/register/logout) in MVC ASP.NET using FormsAuthentication.SetAuthCookie(model. Name, true);
Authorization (admin/user/...)
What is authorization (admin/user/...) in the MVC ASP.NET?
Example: Authorization (admin/user/...) in MVC ASP.NET using the RoleProvider role provider
Writing the appendix "Planning tasks" in the MVC ASP.NET
Creating an empty application "Planning tasks, tasks" | ASP.NET MVC | Visual Studio 2017
Adding Bootstrap & jQuery libraries to the application "Scheduling tasks" | ASP.NET MVC | Visual Studio 2017
Create a master view (main menu & button login using Bootstrap) in the application "Planning tasks" | ASP.NET MVC | Visual Studio 2017
Add the "Home" controller and the "Index" view (the main page in the application "Planning tasks, tasks" | ASP.NET MVC | Visual Studio 2017
Add the Entity Framework library and create a connection to the Database in the application "Planning tasks" | ASP.NET MVC | Visual Studio 2017
Authentication (login/register/logout) in the application "Scheduling tasks" | ASP.NET MVC | Visual Studio 2017
Add the class "Task" to save tasks, tasks to the database in the application "Planning tasks, tasks" | ASP.NET MVC | Visual Studio 2017
Adding nUnit in the application "Planning tasks, tasks" | ASP.NET MVC | Visual Studio 2017
Additional topics, questions
Why is MVC ASP.NET better ASP.NET Web Forms?
Choosing between ASP.NET Core and ASP.NET?
How to choose an Internet browser to run a .NET project in it
How do I find the local address and port of your ASP.NET MVC application?
Scriptsindex.d.ts(8,1): error TS1008: Build:Unexpected token; "module, class, interface, enum, import or statement" expected. Scriptsindex.d.ts(8,13): error TS1005: Build:";" expected. in Visual Studio 2017 in the ASP.NET MVC app
Error "unable to connect to web server "iis express" | ASP.NET MVC | Visual Studio 2017
Error "This site can"t be reached" when run ASP.NET application | Solution: Recreate the Self-Signed HTTPS Certificate for localhost in IIS Express
WWW Sites to Learn ASP.NET MVC
Sites to learn ASP.NET MVC

  Ваши вопросы присылайте по почте: info@dir.by