33 lines
1.1 KiB
C#
33 lines
1.1 KiB
C#
|
// Copyright (c) Microsoft Corporation. All rights reserved. See License.txt in the project root for license information.
|
|||
|
|
|||
|
using System.ComponentModel.DataAnnotations;
|
|||
|
using System.Linq;
|
|||
|
using Xunit;
|
|||
|
|
|||
|
namespace System.Web.Mvc.Test
|
|||
|
{
|
|||
|
public class RequiredAttributeAdapterTest
|
|||
|
{
|
|||
|
[Fact]
|
|||
|
public void ClientRulesWithRequiredAttribute()
|
|||
|
{
|
|||
|
// Arrange
|
|||
|
var metadata = ModelMetadataProviders.Current.GetMetadataForProperty(() => null, typeof(string), "Length");
|
|||
|
var context = new ControllerContext();
|
|||
|
var attribute = new RequiredAttribute();
|
|||
|
var adapter = new RequiredAttributeAdapter(metadata, context, attribute);
|
|||
|
|
|||
|
// Act
|
|||
|
var rules = adapter.GetClientValidationRules()
|
|||
|
.OrderBy(r => r.ValidationType)
|
|||
|
.ToArray();
|
|||
|
|
|||
|
// Assert
|
|||
|
ModelClientValidationRule rule = Assert.Single(rules);
|
|||
|
Assert.Equal("required", rule.ValidationType);
|
|||
|
Assert.Empty(rule.ValidationParameters);
|
|||
|
Assert.Equal(@"The Length field is required.", rule.ErrorMessage);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|