Files
Orchard/src/Orchard.Web/Modules/Orchard.DynamicForms/ValidationRules/OptionRequired.cs
2015-10-16 10:45:08 +02:00

25 lines
1.0 KiB
C#

using System;
using Orchard.DynamicForms.Services;
using Orchard.DynamicForms.Services.Models;
using Orchard.Localization;
namespace Orchard.DynamicForms.ValidationRules {
public class OptionRequired : ValidationRule {
public override void Validate(ValidateInputContext context) {
if (String.IsNullOrWhiteSpace(context.AttemptedValue)) {
var message = GetValidationMessage(context);
context.ModelState.AddModelError(context.FieldName, message.Text);
}
}
public override void RegisterClientAttributes(RegisterClientValidationAttributesContext context) {
context.ClientAttributes["data-val-optionrequired"] = GetValidationMessage(context).Text;
}
private LocalizedString GetValidationMessage(ValidationContext context) {
return String.IsNullOrWhiteSpace(ErrorMessage)
? T("An option is required for {0}.", context.FieldName)
: new LocalizedString(Tokenize(ErrorMessage, context));
}
}
}