dotnet/aspnetcore
GitHub で見るValidationMessageStore.Add field accessor parameter shows a warning for nullable properties
Open
#41,338 opened on 2022年4月23日
Pillar: Technical DebtPriority:2area-blazorbugfeature-blazor-form-validationhelp wanted
Repository metrics
- Stars
- (37,933 stars)
- PR merge metrics
- (平均マージ 16d 9h) (30d で 258 merged PRs)
説明
Is there an existing issue for this?
- I have searched the existing issues
Describe the bug
Adding validation errors using the below ValidationMessageStore.Add method triggers a warning when nullable annotations are enabled for the project, and the property referenced in the accessor parameter has a nullable type.
Expected Behavior
No warnings are displayed for properties with nullable type.
Steps To Reproduce
The following code shows how the warning message is triggered:
private TestModel model = new();
private class TestModel
{
public string? Text { get; set; }
}
private void ManualValidation()
{
var messageStore = new ValidationMessageStore(editContext);
if (true /* External validation rule */)
{
messageStore?.Add(() => model.Text, "This value is not valid");
// ^^^^^^^^^^ <-- Warning triggered here
}
}
Exceptions (if any)
No response
.NET Version
6.0.202
Anything else?
Changing the method signature to the following (from to generic parameter objectTField) could fix the issue as far as I understand:
public void Add<TField>(Expression<Func<TField>> accessor, string message)
That would match the the method in FieldIdentifier: