// 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;
}
}
}