本文整理汇总了C#中HtmlHelper.GetUnobtrusiveValidationAttributes方法的典型用法代码示例。如果您正苦于以下问题:C# HtmlHelper.GetUnobtrusiveValidationAttributes方法的具体用法?C# HtmlHelper.GetUnobtrusiveValidationAttributes怎么用?C# HtmlHelper.GetUnobtrusiveValidationAttributes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HtmlHelper
的用法示例。
在下文中一共展示了HtmlHelper.GetUnobtrusiveValidationAttributes方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetUnobtrusiveValidationAttributeUsesViewDataForModelMetadataLookup
public void GetUnobtrusiveValidationAttributeUsesViewDataForModelMetadataLookup()
{
// Arrange
var formContext = new FormContext();
var viewContext = new Mock<ViewContext>();
var viewData = new ViewDataDictionary<MyModel>();
viewContext.SetupGet(vc => vc.FormContext).Returns(formContext);
viewContext.SetupGet(vc => vc.ClientValidationEnabled).Returns(true);
viewContext.SetupGet(vc => vc.UnobtrusiveJavaScriptEnabled).Returns(true);
viewData.TemplateInfo.HtmlFieldPrefix = "Prefix";
var viewDataContainer = MvcHelper.GetViewDataContainer(viewData);
var htmlHelper = new HtmlHelper(viewContext.Object, viewDataContainer);
// Act
IDictionary<string, object> result = htmlHelper.GetUnobtrusiveValidationAttributes("MyProperty");
// Assert
Assert.Equal(2, result.Count);
Assert.Equal("true", result["data-val"]);
Assert.Equal("My required message", result["data-val-required"]);
}
示例2: GetUnobtrusiveValidationAttributesMarksRenderedFieldsWithFullName
public void GetUnobtrusiveValidationAttributesMarksRenderedFieldsWithFullName()
{
// Arrange
var formContext = new FormContext();
var viewContext = new Mock<ViewContext>();
var viewData = new ViewDataDictionary();
viewContext.SetupGet(vc => vc.FormContext).Returns(formContext);
viewContext.SetupGet(vc => vc.ClientValidationEnabled).Returns(true);
viewContext.SetupGet(vc => vc.UnobtrusiveJavaScriptEnabled).Returns(true);
viewData.TemplateInfo.HtmlFieldPrefix = "Prefix";
var viewDataContainer = MvcHelper.GetViewDataContainer(viewData);
var htmlHelper = new HtmlHelper(viewContext.Object, viewDataContainer);
// Act
htmlHelper.GetUnobtrusiveValidationAttributes("foobar");
// Assert
Assert.False(formContext.RenderedField("foobar"));
Assert.True(formContext.RenderedField("Prefix.foobar"));
}
示例3: GetUnobtrusiveValidationAttributesWithTwoClientRules
public void GetUnobtrusiveValidationAttributesWithTwoClientRules()
{
// Arrange
var formContext = new FormContext();
var viewContext = new Mock<ViewContext>();
viewContext.SetupGet(vc => vc.FormContext).Returns(formContext);
viewContext.SetupGet(vc => vc.ClientValidationEnabled).Returns(true);
viewContext.SetupGet(vc => vc.UnobtrusiveJavaScriptEnabled).Returns(true);
var viewDataContainer = MvcHelper.GetViewDataContainer(new ViewDataDictionary());
var htmlHelper = new HtmlHelper(viewContext.Object, viewDataContainer);
htmlHelper.ClientValidationRuleFactory = delegate
{
ModelClientValidationRule rule1 = new ModelClientValidationRule { ValidationType = "type", ErrorMessage = "error" };
rule1.ValidationParameters["foo"] = "bar";
rule1.ValidationParameters["baz"] = "biff";
ModelClientValidationRule rule2 = new ModelClientValidationRule { ValidationType = "othertype", ErrorMessage = "othererror" };
rule2.ValidationParameters["true3"] = "false4";
return new[] { rule1, rule2 };
};
// Act
IDictionary<string, object> result = htmlHelper.GetUnobtrusiveValidationAttributes("foobar");
// Assert
Assert.Equal("error", result["data-val-type"]);
Assert.Equal("bar", result["data-val-type-foo"]);
Assert.Equal("biff", result["data-val-type-baz"]);
Assert.Equal("othererror", result["data-val-othertype"]);
Assert.Equal("false4", result["data-val-othertype-true3"]);
}
示例4: GetUnobtrusiveValidationAttributesUsesShortNameForModelMetadataLookup
public void GetUnobtrusiveValidationAttributesUsesShortNameForModelMetadataLookup()
{
// Arrange
string passedName = null;
var formContext = new FormContext();
var viewContext = new Mock<ViewContext>();
var viewData = new ViewDataDictionary();
viewContext.SetupGet(vc => vc.FormContext).Returns(formContext);
viewContext.SetupGet(vc => vc.ClientValidationEnabled).Returns(true);
viewContext.SetupGet(vc => vc.UnobtrusiveJavaScriptEnabled).Returns(true);
viewData.TemplateInfo.HtmlFieldPrefix = "Prefix";
var viewDataContainer = MvcHelper.GetViewDataContainer(viewData);
var htmlHelper = new HtmlHelper(viewContext.Object, viewDataContainer);
htmlHelper.ClientValidationRuleFactory = (name, _) =>
{
passedName = name;
return Enumerable.Empty<ModelClientValidationRule>();
};
// Act
htmlHelper.GetUnobtrusiveValidationAttributes("foobar");
// Assert
Assert.Equal("foobar", passedName);
}
示例5: GetUnobtrusiveValidationAttributesMessageIsNotHtmlEncoded
public void GetUnobtrusiveValidationAttributesMessageIsNotHtmlEncoded()
{
// Arrange
var formContext = new FormContext();
var viewContext = new Mock<ViewContext>();
viewContext.SetupGet(vc => vc.FormContext).Returns(formContext);
viewContext.SetupGet(vc => vc.ClientValidationEnabled).Returns(true);
viewContext.SetupGet(vc => vc.UnobtrusiveJavaScriptEnabled).Returns(true);
var viewDataContainer = MvcHelper.GetViewDataContainer(new ViewDataDictionary());
var htmlHelper = new HtmlHelper(viewContext.Object, viewDataContainer);
htmlHelper.ClientValidationRuleFactory = delegate { return new[] { new ModelClientValidationRule { ValidationType = "type", ErrorMessage = "<script>alert('xss')</script>" } }; };
// Act
IDictionary<string, object> result = htmlHelper.GetUnobtrusiveValidationAttributes("foobar");
// Assert
Assert.Equal("<script>alert('xss')</script>", result["data-val-type"]);
}
示例6: GetUnobtrusiveValidationAttributesIncludesDataValTrueWithNonEmptyClientRuleList
public void GetUnobtrusiveValidationAttributesIncludesDataValTrueWithNonEmptyClientRuleList()
{
// Arrange
var formContext = new FormContext();
var viewContext = new Mock<ViewContext>();
viewContext.SetupGet(vc => vc.FormContext).Returns(formContext);
viewContext.SetupGet(vc => vc.ClientValidationEnabled).Returns(true);
viewContext.SetupGet(vc => vc.UnobtrusiveJavaScriptEnabled).Returns(true);
var viewDataContainer = MvcHelper.GetViewDataContainer(new ViewDataDictionary());
var htmlHelper = new HtmlHelper(viewContext.Object, viewDataContainer);
htmlHelper.ClientValidationRuleFactory = delegate { return new[] { new ModelClientValidationRule { ValidationType = "type" } }; };
// Act
IDictionary<string, object> result = htmlHelper.GetUnobtrusiveValidationAttributes("foobar");
// Assert
Assert.Equal("true", result["data-val"]);
}
示例7: GetUnobtrusiveValidationAttributesReturnsEmptySetAndSetsFieldAsRenderedForFieldWithNoClientRules
public void GetUnobtrusiveValidationAttributesReturnsEmptySetAndSetsFieldAsRenderedForFieldWithNoClientRules()
{
// Arrange
var formContext = new FormContext();
var viewContext = new Mock<ViewContext>();
viewContext.SetupGet(vc => vc.FormContext).Returns(formContext);
viewContext.SetupGet(vc => vc.ClientValidationEnabled).Returns(true);
viewContext.SetupGet(vc => vc.UnobtrusiveJavaScriptEnabled).Returns(true);
var viewDataContainer = MvcHelper.GetViewDataContainer(new ViewDataDictionary());
var htmlHelper = new HtmlHelper(viewContext.Object, viewDataContainer);
htmlHelper.ClientValidationRuleFactory = delegate { return Enumerable.Empty<ModelClientValidationRule>(); };
// Act
IDictionary<string, object> result = htmlHelper.GetUnobtrusiveValidationAttributes("foobar");
// Assert
Assert.Empty(result);
Assert.True(formContext.RenderedField("foobar"));
}
示例8: GetUnobtrusiveValidationAttributesReturnsEmptySetWhenFieldHasAlreadyBeenRendered
public void GetUnobtrusiveValidationAttributesReturnsEmptySetWhenFieldHasAlreadyBeenRendered()
{
// Arrange
var formContext = new FormContext();
formContext.RenderedField("foobar", true);
var viewContext = new Mock<ViewContext>();
viewContext.SetupGet(vc => vc.FormContext).Returns(formContext);
viewContext.SetupGet(vc => vc.ClientValidationEnabled).Returns(true);
viewContext.SetupGet(vc => vc.UnobtrusiveJavaScriptEnabled).Returns(true);
var viewDataContainer = MvcHelper.GetViewDataContainer(new ViewDataDictionary());
var htmlHelper = new HtmlHelper(viewContext.Object, viewDataContainer);
// Act
IDictionary<string, object> result = htmlHelper.GetUnobtrusiveValidationAttributes("foobar");
// Assert
Assert.Empty(result);
}
示例9: AssertBadClientValidationRule
// Helpers
private static void AssertBadClientValidationRule(HtmlHelper htmlHelper, string expectedMessage, params ModelClientValidationRule[] rules)
{
htmlHelper.ClientValidationRuleFactory = delegate { return rules; };
Assert.Throws<InvalidOperationException>(
() => htmlHelper.GetUnobtrusiveValidationAttributes(Guid.NewGuid().ToString()),
expectedMessage
);
}