customvalidator 相关问题

.NET`CustomValidator`类,允许自定义验证任何UI输入元素

使用 OR 进行 FluentValidation?

我正在查看此链接,试图找出如何快速轻松地执行“或”操作,但到目前为止,发现之路已经让我走上了一条漫长的道路,通往过多的代码,而这些代码现在和应该是非常......

回答 1 投票 0

XPages - 验证器不会向屏幕发送消息

我已经为 xp:input 控件设置了一个验证器类: 我已经为 xp:input 控件设置了一个验证器类: <xp:inputText id="inpTeamName" title="${strings.label_name_team_title}" value="#{teamBean.team.name}" defaultValue="#{teamBean.team.name}" required="true" validator="#{teamValidator.valName}"> <xp:this.attrs> <xp:attr name="placeholder" value="#{strings.label_name_team_ph}"> </xp:attr> </xp:this.attrs> <xp:this.validators> <xp:validateRequired loaded="true" message="#{strings.teamValidateNameEmpty}"> </xp:validateRequired> <xp:validateLength minimum="6" message="#{strings.teamValidateNameTooShort}"> </xp:validateLength> </xp:this.validators> </xp:inputText> <xp:panel> <small id="infoHelp" class="form-text text-muted"> <xp:text value="${strings.label_name_team_helper}" /> </small> </xp:panel> 这是 TeamValidator 类中的方法(作为托管 bean 访问): public void valName(FacesContext facesContext, UIComponent component, Object value) { String methodName = new Object(){}.getClass().getEnclosingMethod().getName(); utils.printToConsole(this.getClass().getSimpleName().toString() + " " + methodName); try { if (value.toString().replaceAll("\\s+","").equals("")){ String msg = propStrings.getProperty("teamValidateNameEmpty"); FacesMessage message = new FacesMessage(msg); throw new ValidatorException(message); } //check for duplicate name for team for event String qParam = utils.getUrlParameterValue("unid"); TeamBean teamBean = new TeamBean(); ArrayList<JsonJavaObject> teams = teamBean.loadObjects(); boolean duplicateFound = false; for (JsonJavaObject team : teams) { String key = "team"; if (team.containsKey(key)) { String name = team.getAsString(key).replaceAll("\\s+",""); if (value.toString().replaceAll("\\s+","").equals(name)){ duplicateFound = true; } } } if (true == duplicateFound ) { String msg = propStrings.getProperty("teamValidateNameDuplicate"); FacesMessage message = new FacesMessage(msg); throw new ValidatorException(message); } } catch (Exception e) { XspOpenLogUtil.logErrorEx(e, JSFUtils.getXSPContext().getUrl().toString(), Level.SEVERE, null); } } 如果我添加一些打印语句,我会发现它检测到重复项,并且应该抛出验证器异常。但该消息不会出现在屏幕上(我添加了 xp:messages 控件)。 所需和长度的验证确实出现在屏幕上。 我还看到触发验证器(保存文档)的代码未被验证禁止。 我想知道我在这里做错了什么? 仅供参考,inputput 控件驻留在 xe:dialog 控件中。 您抛出的 ValidatorException 被同一方法中的 try/catch 捕获。所以删除 try/catch。

回答 1 投票 0

自定义密码匹配验证器在 angular5 中不起作用

我正在实现自定义验证器来匹配组件中的密码。 这是我的 component.ts 表单声明 this.addUserForm = 新的 FormGroup({ 名字:new FormControl('', [Validators.req...

回答 3 投票 0

当 abp 模式的表单中存在小数字段时,验证器语言使用时出现问题

描述错误 对于包含小数属性的模型,这不适用于使用小数逗号的区域设置: 描述错误 对于包含 decimal 属性的模型,这不适用于使用小数逗号的区域设置: <input asp-for="Number"> <input asp-for="Number" type="number"> 代码: 我使用模态来显示我的表单和 ViewModel: class ViewModel { [StringLength(56)] public string Speciality { get; set; } [StringLength(128)] public string StructureLinked { get; set; } [Required] [AbpRadioButton(Inline = true)] public RateType RateSelected { get; set; } [HiddenInput] public decimal RateGeneral { get; set; } public decimal RateSpecific { get; set; } } 第一个问题是,表单的其余部分按预期返回法语验证器语言,但对于所有使用 decimal 的属性,验证器都是英语。 第二个问题是我们给出的数据不带逗号,它的发送和接收正确。但如果我们将 English format 视为 9.8,我们就会收到 0。 我尝试强制加载文件 jqueryvalidator/message_fr.js 或在网络上找到一些不同的修复程序,但没有成功 这听起来像这里描述的问题: MVC/JQuery 验证不接受逗号作为小数点分隔符 解决方案: 您可以按照这篇文章中的说明覆盖 jquery 验证: 覆盖 jQuery 验证器 要同时允许逗号和点分隔符,您可以将其添加到脚本中: $.validator.methods.number = function (value, element) { return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:[,.]\d+)?$/.test(value); } 请注意,这只会修复客户端中的验证。验证也可能在后端采用。

回答 1 投票 0

Laravel 自定义验证:仅在给定输入时验证输入

所以我按照本教程学习了如何使用 Vue 使用 Laravel 上传图像:使用 Laravel 和 VueJs 进行图像上传和验证 一切正常,但我想选择图像上传...

回答 2 投票 0

是否可以使用aspx c# customvalidator来调用action?

最终目标 我有一个文本框,用户在其中输入数据,并且有一个“CustomValidator”,用于检查数据库中是否存在文本框条目。如果是这样,我希望从数据库中填充数据...

回答 1 投票 0

用于反应式表单的 Angular 自定义验证器将数组对象作为参数传递

我面临的情况是,将对象数组(产品列表)作为自定义验证器的参数传递。但它显示错误,例如“只能将单个值作为参数传递”。 我面临的情况是,将对象数组(产品列表)作为自定义验证器的参数传递。但它显示错误,例如“只能将单个值作为参数传递”。 <div class="formGroup"> <input formControlName="productname" matInput #input type="text" [matAutocomplete]="auto" class="form-control" (click)="clicked(input)" (input)="performFiltering(input)" /> <mat-autocomplete #auto="matAutocomplete" (optionSelected)="onProductChange1($event)" > <mat-option *ngFor="let product of filteroptions | async" [value]="product.productname" > {{product.productname}} </mat-option> </mat-autocomplete> <div *ngIf="productdetailsarray.at(i).get('productname')?.errors?.['productnotavailable'] && productdetailsarray.at(i).get('productname')?.touched"> <span style="font-size: 10pt; color:red">Product is not valid</span> </div> 我的ts代码是 export interface productentity{ productname:string, price:number, gst:number, } productlists = [ { productname: 'apple', price: 10, gst: 10 }, { productname: 'orange', price: 20, gst: 12 }, { productname: 'lemon', price: 30, gst: 20 }, { productname: 'grape', price: 60, gst: 20 }, { productname: 'bringal', price: 25, gst: 20 }, { productname: 'tomato', price: 40, gst: 20 }, { productname: 'kiwi', price: 120, gst: 20 }, { productname: 'potato', price: 500, gst: 20 }]; productlist!:productentity[]; filteroptions!: Observable<productentity[]>; productname: new FormControl('', [Validators.required,Productavailable(productlists)]), ngOnInit() { this.productlist = this.productlists.sort((a:any,b:any)=> { return a.productname < b.productname ? -1 : a.productname > b.productname ? 1 : 0 }); } clicked(input: any) { if (input.value) { this.performFiltering(input); } else{ this.filteroptions = of(this.productlist); } } performFiltering(input: any) { if (input.value) { this.filteroptions = of(this._filter(input.value)); } else { this.filteroptions = of(this.productlist); } } private _filter(value: string): productentity[] { const searchvalue = value.toLocaleLowerCase(); return this.productlist.filter((option) => option.productname.toLocaleLowerCase().includes(searchvalue) ); } 我的自定义验证器函数是 export function Productavailable(val: string): ValidatorFn { return (control: AbstractControl): ValidationErrors | null => { let productvalue: string = control.value; let productlists = [ { productname: 'apple', price: 10, gst: 10 }, { productname: 'orange', price: 20, gst: 12 }, { productname: 'lemon', price: 30, gst: 20 }, { productname: 'grape', price: 60, gst: 20 }, { productname: 'bringal', price: 25, gst: 20 }, { productname: 'tomato', price: 40, gst: 20 }, { productname: 'kiwi', price: 120, gst: 20 }, { productname: 'potato', price: 500, gst: 20 }]; const selectedProduct = productlists.find( (product) => product.productname === productvalue ); if (productvalue=='') { return null; } if (selectedProduct==null) { return { 'productnotavailable': true, 'requiredValue': val } } return null; } } 在这里,我面临着在组件 ts 和自定义验证器函数()中添加“productlists”数组对象的情况。因此,我无法动态提供产品列表。 有人可以帮助我如何将数组对象作为参数传递给自定义验证函数或任何其他解决方案以在产品列表中不可用时显示错误消息。 您可以在 Productavailable 上使用 bind 方法。 Function 实例的 bind() 方法创建一个新函数, 调用时,调用此函数并将其 this 关键字设置为 提供了价值。 注意:使用这种方法,验证器方法位于组件内部。 示例: productname: new FormControl('', [Validators.required, Productavailable.bind(this)]), ... function Productavailable(val: string): ValidatorFn { return (control: AbstractControl): ValidationErrors | null => { let productvalue: string = control.value; const selectedProduct = this.productlists.find( (product) => product.productname === productvalue ); if (productvalue=='') { return null; } if (selectedProduct==null) { return { 'productnotavailable': true, 'requiredValue': val } } return null; } }

回答 1 投票 0

Spring Boot 验证器不返回自定义错误消息

我想比较实体中的两个字段,并检查 maxField 是否大于 minField 才有效。下面是我的实现,但我看不到自定义消息,而是返回此 w...

回答 1 投票 0

“pydantic alidators.py”:找不到<class 'pandas.core.frame.DataFrame'>

以下 pandas 的 DataFrame 未经过 pydantic 验证。这要怎么处理呢? 从 pydantic.dataclasses 导入数据类 @数据类 类数据帧: dataframe1:pd.DataFrame = None 数据帧...

回答 4 投票 0

CustomValidator ServerValidate 方法不触发

我在表单上放置了一个 CustomValidator。我尚未设置其 ControlToValidate 属性。在其 ServerValidate 事件中我编写了以下内容: protected void CustomValidator1_ServerValidate(对象 ...

回答 3 投票 0

客户端验证后不会触发服务器验证

我在这里不知所措。我经常看到相同的问题答案,但没有一个能帮我解决问题。 我有一个接受电子邮件作为输入的文本框。如果用户输入有效的电子邮件,那么我想要...

回答 1 投票 0

使用自定义验证器验证@RequestBody的依赖属性的最简单方法

我得到了一个如下所示的端点: @PostMapping(产生= MediaType.APPLICATION_JSON_VALUE) 事件 createEvent (@RequestBody(required = true) @Valid EventRequestBody eventRequestBody) { …… } 我的

回答 1 投票 0

Spring Boot 自定义验证器未找到错误:HV000030

新手在学习如何使用自定义验证器(maven、h2 存储库、thymeleaf,不确定此信息是否隐含或必要,所以在这里)修改 Spring Boot 应用程序时遇到困难。我

回答 1 投票 0

获取“查询模板时出错:TypeError:无法读取未定义的属性(读取“findOne”)”

我正在尝试在 Nest js 应用程序的自定义验证器类中使用我的 MongoDB 模型之一。我的模型是在名为“model”的文件夹中定义的。我正在使用 InjectModel 猫鼬 t...

回答 1 投票 0

当错误的数据类型作为输入提交时,Flask wtforms DataRequired 验证器触发(而不是自定义或默认验证器)

尝试将 DataRequired() 和自定义验证程序 validate_someNumber 附加到 FloatField。但是当验证错误时,我很难理解表单字段错误的反馈......

回答 1 投票 0

Class-Validator node.js提供自定义的错误信息

我有一个自定义的验证器约束和注解,用于检查给定属性的实体是否已经存在,以下是代码 import { Inject, Injectable } from '@nestjscommon';...。

回答 1 投票 0

jQuery验证数据属性中的自定义规则

我有一个已经有一些验证规则的输入文本

回答 1 投票 5

Spring:不使用休眠的唯一ID验证程序

在执行POST时,通过验证程序检查是否没有重复ID的最佳方法是什么?我试图创建一个自定义验证器,但始终收到内部服务器错误{“ timestamp”:“ 2020 -...

回答 1 投票 0

为什么我的AsyncValidator总是返回true?

为什么这总是返回错误?导出类UserExistsValidatorService实现AsyncValidator {构造函数(private userService:UserService){} validate(control:FormControl):...

回答 1 投票 1

如何在ASP.NET Core中创建也触发无效输入的自定义验证器?

我已经为ASP.NET Core 3.1中的DateTime字段创建了一个自定义验证器,如下所示:[CustomDate] public DateTime DOB {get;组; }公共类CustomDate:ValidationAttribute {...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.