首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模型绑定中的可空性

问模型绑定中的可空性
EN

Stack Overflow用户
提问于 2017-07-23 11:08:47
回答 1查看 1.7K关注 0票数 0

我正在使用VS 2017的ASP.NET核心。我希望允许用户创建一个雇员记录,在那里他们可以将address输入字段保持为空,即作为可选字段输入。

使用Bind("Name“、" address ")总是验证输入,当address字段为空时,请求总是失败。

这是数据模型。

代码语言:javascript
复制
public class Employee
{
    public int ID { get; set; }
    public string Name { get; set; }
    public string Address { get; set; }
}

从Post请求读取参数的Create方法具有如下的模型绑定

代码语言:javascript
复制
public async Task<IActionResult> Create([Bind("Name,Address")] Employee emp)

视图具有使用Employee的默认asp窗体。

代码语言:javascript
复制
<div class="col-md-10">
     <input asp-for="Address" class="form-control" />
     <span asp-validation-for="Address" class="text-danger"></span>
</div>

是否有任何方法将地址输入字段作为模型绑定的可选输入?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-23 11:39:43

我对Asp.net内核非常陌生,但从我到目前为止所了解到的情况来看,我将这样做:

代码语言:javascript
复制
<form method="post" asp-controller="YourController" asp-action="Create"> 
    <div>
        <input asp-for="Name" placeholder="Name"/>
        <div class="stylized-error">
            <span asp-validation-for="Name"></span>
        </div>

        <input asp-for="Address" placeholder="Address"/>
        <div class="stylized-error">
            <span asp-validation-for="Address"></span>
        </div>

        <input type="submit" value="Submit" />
        <div class="error-list" asp-validation-summary="ModelOnly"></div>
    </div>
</form>

您希望Address是可选的,这在默认情况下是true,因此您实际上希望使Name成为必需的:

代码语言:javascript
复制
public class Employee
{
    public int ID { get; set; }
    [Required]
    public string Name { get; set; }
    public string Address { get; set; }
}

你的控制器:

代码语言:javascript
复制
public async Task<IActionResult> Create(Employee emp) 
{
    if (ModelState.IsValid) 
    {
        // Do whatever you want here...
    }
}

如果一个属性包含null是有效的,则它被认为是可选的。如果null不是要分配给属性的有效值,那么它就被认为是必需的属性。

后来

您可以使用数据注释来指示需要属性。

来自docs.microsoft

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45264396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档