我在VS 2017中使用ASP.NET Core。我想允许用户创建一个员工记录,他们可以将地址输入字段留空,即作为可选字段输入。
使用[Bind(“Name”,“Address”)]始终验证输入,当地址字段为空时,请求将始终失败。
这是数据模型。
Object.keys(startups).map((startup) => {
return (
<div>{startups[startup].proyect_name}</div> //for example
)
})
并且从Post请求读取参数的Create方法具有如下的模型绑定
public class Employee
{
public int ID { get; set; }
public string Name { get; set; }
public string Address { get; set; }
}
并且视图具有使用Employee Model的默认asp表单。
public async Task<IActionResult> Create([Bind("Name,Address")] Employee emp)
有没有办法让地址输入字段作为模型绑定的可选输入?
答案 0 :(得分:0)
我对Asp.net核心很新,但从我迄今为止所学到的知识来看,我就是这样做的:
Name
您希望public class Employee
{
public int ID { get; set; }
[Required]
public string Name { get; set; }
public string Address { get; set; }
}
是可选的,默认为true,因此您实际上想要public async Task<IActionResult> Create(Employee emp)
{
if (ModelState.IsValid)
{
// Do whatever you want here...
}
}
:
var res = img1.MatchTemplate(img2, TemplateMatchingType.CcoeffNormed);
int maxXIdx = 0, maxYIdx = 0;
float maxVal = float.MinValue;
var dat = res.Data;
int numChanels = dat.GetLength(2),
numCols = res.Cols, numRows = res.Rows;
for (int i = 0; i < numChanels; i++)
{
for (int x = 0; x < numCols; x++)
{
for (int y = 0; y < numRows; y++)
{
var val = dat[y, x, i];
if (val > maxVal)
{
maxVal = val;
maxXIdx = x;
maxYIdx = y;
}
}
}
}
int shiftX = maxXIdx, shiftY = maxYIdx;
你的控制器:
{{1}}
如果属性对其包含有效,则该属性被视为可选 空值。如果null不是要分配给属性的有效值,那么 它被认为是必需的财产。
后来
您可以使用数据注释来指示属性是必需的。