形成事件
Blazor的Form组件公开了允许您响应用户操作并提供自定义逻辑的事件。
的示例
EditContext
,但是你可以用a模型代替。
OnSubmit
的OnSubmit
事件在用户单击表单中的Submit按钮时触发。它的处理程序接受参数EditContext
对象,并用于基于表单的有效性触发一些自定义逻辑。
的处理程序OnSubmit
事件,OnValidSubmit
和OnInvalidSubmit
事件将不会被触发。
的OnSubmit
事件映射到OnSubmit
事件的发生微软EditForm
处理OnSubmit事件
@*使用OnSubmit事件来触发一些自定义逻辑取决于表单的有效性*@ @使用System.ComponentModel.DataAnnotations @code {public Person Person = new Person();EditContext myEditContext {get;设置;} private void OnSubmitHandler(EditContext EditContext) {bool isFormValid = EditContext . validate ();if (isFormValid){//在表单有值时应用一些自定义逻辑}else{//在表单无效时应用一些自定义逻辑}}protected override void OnInitialized() {myEditContext = new EditContext(person);base.OnInitialized ();}公共类Person{[可编辑(假)]公共int Id {get;设置;} [Required(ErrorMessage ="Add your first name")] public string FirstName {get;设置; } [Required(ErrorMessage = "Add your last name")] public string LastName { get; set; } [Range(typeof(DateTime), "1/1/1900", "1/15/2020", ErrorMessage = "The Date of Birth must be between 1/1/1900 and 1/15/2021")] public DateTime DOB { get; set; } = DateTime.Today.AddYears(-20); public string CompanyName { get; set; } public DateTime HireDate { get; set; } public bool IsOnVacation { get; set; } = true; } }
OnValidSubmit
的OnValidSubmit
事件在提交表单并且没有验证错误时触发。它被映射到OnValidSubmit
事件的发生微软EditForm.它的处理程序接受EditContext
作为论据。
使用OnValidSubmit事件
@*当表单有效时,您可以使用OnValidSubmit事件来提供自定义逻辑*@ @使用System.ComponentModel.DataAnnotations @code {public Person Person = new Person();EditContext myEditContext {get;设置;}公共void OnValidSubmitHandler(EditContext EditContext){//表单有效时的一些逻辑。控制台。WriteLine("有效提交,您可以保存模型");}保护覆盖无效OnInitialized() {myEditContext =新的EditContext(人);base.OnInitialized ();}公共类Person{[可编辑(假)]公共int Id {get;设置; } [Required(ErrorMessage = "Add your first name")] public string FirstName { get; set; } [Required(ErrorMessage = "Add your last name")] public string LastName { get; set; } [Range(typeof(DateTime), "1/1/1900", "1/15/2020", ErrorMessage = "The Date of Birth must be between 1/1/1900 and 1/15/2021")] public DateTime DOB { get; set; } = DateTime.Today.AddYears(-20); public string CompanyName { get; set; } public DateTime HireDate { get; set; } public bool IsOnVacation { get; set; } = true; } }
OnInvalidSubmit
的OnInvalidSubmit
事件在表单提交时出现验证错误时触发。它被映射到OnInvalidSubmit
事件的发生微软EditForm.它的处理程序接受EditContext
作为论据。
使用OnInvalidSubmit事件
@*当表单无效时,您可以使用OnInvalidSubmit事件来提供自定义逻辑*@ @使用System.ComponentModel.DataAnnotations @code {public Person Person = new Person();EditContext myEditContext {get;设置;}公共void OnInvalidSubmitHandler(EditContext EditContext){//表单无效时的一些逻辑。控制台。WriteLine("无效的提交尝试");}保护覆盖无效OnInitialized() {myEditContext =新的EditContext(人);base.OnInitialized ();}公共类Person{[可编辑(假)]公共int Id {get;设置; } [Required(ErrorMessage = "Add your first name")] public string FirstName { get; set; } [Required(ErrorMessage = "Add your last name")] public string LastName { get; set; } [Range(typeof(DateTime), "1/1/1900", "1/15/2020", ErrorMessage = "The Date of Birth must be between 1/1/1900 and 1/15/2021")] public DateTime DOB { get; set; } = DateTime.Today.AddYears(-20); public string CompanyName { get; set; } public DateTime HireDate { get; set; } public bool IsOnVacation { get; set; } = true; } }