// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using Microsoft.AspNet.Mvc.ModelBinding.Validation; namespace Microsoft.AspNet.Mvc.Internal { /// /// containing information for HTML attribute generation in fields a /// targets. /// public class ModelClientValidationRemoteRule : ModelClientValidationRule { private const string RemoteValidationType = "remote"; private const string AdditionalFieldsValidationParameter = "additionalfields"; private const string TypeValidationParameter = "type"; private const string UrlValidationParameter = "url"; /// /// Initializes a new instance of the class. /// /// Error message client should display when validation fails. /// URL where client should send a validation request. /// /// HTTP method ("GET" or "POST") client should use when sending a validation request. /// /// /// Comma-separated names of fields the client should include in a validation request. /// public ModelClientValidationRemoteRule( string errorMessage, string url, string httpMethod, string additionalFields) : base(validationType: RemoteValidationType, errorMessage: errorMessage) { ValidationParameters[UrlValidationParameter] = url; if (!string.IsNullOrEmpty(httpMethod)) { ValidationParameters[TypeValidationParameter] = httpMethod; } ValidationParameters[AdditionalFieldsValidationParameter] = additionalFields; } } }