首页 > 解决方案 > 如何获得输入错误而不是较小的输入字符串?

问题描述

让我指出,我上周开始学习 .NET / C# 是因为一个新的实习,而且我太新了,我还没有完全理解代码。对我来说,事情似乎比 Python/PHP/Javascript 复杂得多。

我目前正在做这个教程:https ://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/complex-data-model?view=aspnetcore-3.1

本教程告诉我将 [StringLength(50)] 添加到我的代码中:

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace ContosoUniversity.Models
{
    public class Student
    {
        public int ID { get; set; }
        [StringLength(50)]
        public string LastName { get; set; }
        [StringLength(50)]
        public string FirstMidName { get; set; }
        [DataType(DataType.Date)]
        [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
        public DateTime EnrollmentDate { get; set; }

        public ICollection<Enrollment> Enrollments { get; set; }
    }
}

然后在命令提示符下运行以下命令:

dotnet ef migrations add MaxLengthOnNames
dotnet ef database update

这样做之后,它说我应该运行应用程序并尝试创建一个超过 50 个字符的新学生,它应该阻止我这样做。它不会阻止我输入 50 个字符,而是将输入缩短为 50 个字符。我通常会想到一个 if 语句来检查输入是否超过 50 个字符。但是我坚持指南,但我得到了意想不到的结果。

我在这里做错了吗?

任何帮助表示赞赏。

标签: c#.net

解决方案


推荐阅读