Skip to content

Commit

Permalink
Add a demo to show how to display asp-validaiton-summary on field cha…
Browse files Browse the repository at this point in the history
…nges.
  • Loading branch information
davidliang2008 committed Jul 31, 2020
1 parent 32087b9 commit c41c4a6
Show file tree
Hide file tree
Showing 6 changed files with 113 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;

namespace DL.NetCore.EmptySolution.Web.UI.Controllers
{
public class UserController : Controller
{
public IActionResult Invite()
{
return View();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

namespace DL.NetCore.EmptySolution.Web.UI.Models.User
{
public class InviteUserViewModel
{
[DisplayName("Email Address")]
[Required(ErrorMessage = "Please provide the invitee's Email Address")]
[EmailAddress(ErrorMessage = "Please provide a valid email address")]
[StringLength(254, ErrorMessage = "Maximum email address length exceeded")]
public string EmailAddress { get; set; }

[DisplayName("Display Name")]
[Required(ErrorMessage = "Please provide the invitee's display name")]
public string DisplayName { get; set; }
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
</div>
<div class="row">
<div class="col-lg-4">
<div class="card">
<div class="card mb-3">
<div class="card-body">
<h5>Integrate with DataTables.js</h5>
<p class="card-text">
Expand All @@ -23,7 +23,7 @@
</div>
</div>
<div class="col-lg-4">
<div class="card">
<div class="card mb-3">
<div class="card-body">
<h5>Search with query parameters</h5>
<p class="card-text">
Expand All @@ -36,7 +36,7 @@
</div>
</div>
<div class="col-lg-4">
<div class="card">
<div class="card mb-3">
<div class="card-body">
<h5>Tag Helper asp-validation-summary</h5>
<p class="card-text">
Expand All @@ -48,4 +48,17 @@
</div>
</div>
</div>
<div class="col-lg-4">
<div class="card mb-3">
<div class="card-body">
<h5>Display asp-validation-summary on field change</h5>
<p class="card-text">
Demo on how to display the validation summary when a field changes instead of on form submit.
</p>
<a asp-area="" asp-controller="user" asp-action="invite">
Invite a user
</a>
</div>
</div>
</div>
</div>
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
@model DL.NetCore.EmptySolution.Web.UI.Models.User.InviteUserViewModel
@{
ViewBag.Title = "Invite User";
}

<h2>Invite User</h2>
<div class="row">
<div class="col-md-6">
<h5>Simple Way: reuse asp-message-for</h5>
<form asp-area="" asp-controller="user" asp-action="invite"
data-ajax="true"
data-ajax-method="POST"
data-ajax-begin="onBegin"
data-ajax-complete="onComplete">
<div class="form-group">
<label asp-for="EmailAddress"></label>
<input asp-for="EmailAddress" class="form-control" />
</div>
<div class="form-group">
<label asp-for="DisplayName"></label>
<input asp-for="DisplayName" class="form-control" />
</div>

<div class="form-group clientside-validation-summary">
<span asp-validation-for="EmailAddress" class="text-danger"></span>
<span asp-validation-for="DisplayName" class="text-danger"></span>
</div>

<button type="submit" class="btn btn-primary">Invite</button>
</form>
</div>
</div>

@section scripts {
<script type="text/javascript">
$(function () {
window.onBegin = function () {
};
window.onComplete = function () {
};
});
</script>
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,14 @@
.validation-summary-errors,
.field-validation-error {
font-size: .9rem;
}

.clientside-validation-summary {
display: flex;
flex-flow: column nowrap;

.field-validation-error > span:before {
content: "*";
padding-right: .3rem;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7211,3 +7211,10 @@ label.required:not(.custom-control-label):after {
.validation-summary-errors,
.field-validation-error {
font-size: .9rem; }

.clientside-validation-summary {
display: flex;
flex-flow: column nowrap; }
.clientside-validation-summary .field-validation-error > span:before {
content: "*";
padding-right: .3rem; }

0 comments on commit c41c4a6

Please sign in to comment.