Die Sache, die Sie suchen, heißt "Remote-Validierung" in Asp.Net MVC.
Zuerst sicherstellen, dass die Client-Validierung in Ihrer web.config aktiviert ist.
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
Zweite erstellen die Validierungsmethode in Ihrem Controller, der eine JsonResult zurück.
public class ValidationController : Controller
{
public JsonResult CheckValidIP(string clientIP)
{
//your validation code here
if (!_repository.AllowIp(clientIP))
return Json(true, JsonRequestBehavior.AllowGet);
else
return Json(false, JsonRequestBehavior.AllowGet);
}
}
Dritte im Modell einsetzen [Remote]
Attribut. Der erste Parameter ist der Action
und der zweite ist der Controller
.
public class CreateUserModel : EditUserModel {
[Remote("CheckValidIP", "Validation")]
public override string ClientIP { get; set; }
}
Last but not least, Sie haben Html Helper zu verwenden, um die HTML mit JavaScript zu generieren und so weiter.
@model RemoteValidation.Models.SampleModel
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>Remote Validation</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.ClientIp, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.ClientIp, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.ClientIp, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
}
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
Hier ist eine Beispielanwendung ausgeführt wird, nur mit dem Remote-Validierung, hier =>https://github.com/ricardodemauro/AspNetMVCRemoteValidation
Die RemoteAttribute Klasse erstellt eine Zeichenfolge, die die URL der serverbasierten Validierung verwenden repräsentiert aufzurufen. Das ASP.NET MVC-Framework sendet dann die JSON-codierte GET-Anforderung für die URL. In diesem Beispiel, wenn der Benutzer „127.0.0.1“ in dem Client-IP-Texteingabefeld eingibt, wird der Client die folgende URL anfordern: /Validation/CheckValidIP?ClientIP=127.0.0.1
Hier erfahren Sie mehr finden detail information =>https://msdn.microsoft.com/en-us/library/gg508808(vs.98).aspx
Sie müssen von den Grundlagen lernen. Überprüfen Sie diesen MS offiziellen Link https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started –
Es funktioniert nicht so. MVC hat ein anderes Konzept als WebForms. Sie könnten eine JavaScript-Funktion schreiben, um Eingaben im Browser zu validieren, oder Sie buchen das Modell in Aktion und validieren den Wert in Aktion. Es gibt keine einfache Möglichkeit zu sagen, welche C# -Funktion für Eingaben von cshtml auszuführen ist. –