标签: customvalidator

应该在哪里存储Rails 3自定义验证器?

我见过的文档/网站显示,自定义验证应在去/lib/lib/validators项目的目录.我发现(通过阅读另一篇文章的答案)他们似乎只是在工作config/initializers.有没有人知道,或者有一个指向官方文档的指针,显示自定义验证器应该存在的位置?

validation ruby-on-rails customvalidator

93
推荐指数
3
解决办法
2万
查看次数

ASP.NET自定义验证器客户端和服务器端验证未触发

这在我之前没有发生过,但由于某种原因,客户端和服务器端验证事件都没有被触发:

<asp:TextBox ID="TextBoxDTownCity" runat="server" CssClass="contactfield" />
<asp:CustomValidator ID="CustomValidator2" runat="server" EnableClientScript="true"
    ErrorMessage="Delivery Town or City required"
    ClientValidationFunction="TextBoxDTownCityClient" 
    ControlToValidate="TextBoxDTownCity"
    OnServerValidate="TextBoxDTownCity_Validate" Display="Dynamic" >
</asp:CustomValidator>
Run Code Online (Sandbox Code Playgroud)

服务器端验证事件:

protected void TextBoxDTownCity_Validate(object source, ServerValidateEventArgs args)
{
    args.IsValid = false;
}
Run Code Online (Sandbox Code Playgroud)

客户端验证事件:

function TextBoxDCountyClient(sender, args) {
    args.IsValid = false;
    alert("test");
}
Run Code Online (Sandbox Code Playgroud)

我认为至少Server Side验证会激活但不会.这在我之前从未发生过.这真让我难过.

我查看了输出,ASP.NET正在识别客户端功能:

ASP.NET JavaScript输出:

var ctl00_ctl00_content_content_CustomValidator2 = document.all ? document.all["ctl00_ctl00_content_content_CustomValidator2"] : document.getElementById("ctl00_ctl00_content_content_CustomValidator2");

ctl00_ctl00_content_content_CustomValidator2.controltovalidate = "ctl00_ctl00_content_content_TextBoxDTownCity";

ctl00_ctl00_content_content_CustomValidator2.errormessage = "Delivery Town or City required";

ctl00_ctl00_content_content_CustomValidator2.display = "Dynamic";

ctl00_ctl00_content_content_CustomValidator2.evaluationfunction = "CustomValidatorEvaluateIsValid";

ctl00_ctl00_content_content_CustomValidator2.clientvalidationfunction = "TextBoxDTownCityClient";
Run Code Online (Sandbox Code Playgroud)

渲染自定义验证器:

<span id="ctl00_ctl00_content_content_CustomValidator2" style="color:Red;display:none;">Delivery Town …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net validation customvalidator

70
推荐指数
3
解决办法
24万
查看次数

“pydantic\validators.py”:找不到 &lt;class 'pandas.core.frame.DataFrame'&gt; 的验证器

以下 pandas 的 DataFrame 未经过 pydantic 验证。这要怎么处理呢?

from pydantic.dataclasses import dataclass

@dataclass
class DataFrames:
    dataframe1: pd.DataFrame = None
    dataframe2: pd.DataFrame = None
Run Code Online (Sandbox Code Playgroud)

这会引发以下错误:

File "pydantic\validators.py", line 715, in find_validators

RuntimeError: no validator found for <class 'pandas.core.frame.DataFrame'>, see `arbitrary_types_allowed` in Config
Run Code Online (Sandbox Code Playgroud)

validation customvalidator pandas python-dataclasses pydantic

32
推荐指数
3
解决办法
5万
查看次数

asp.net自定义验证器没有为文本框触发

我有一个必需的字段验证器和自定义验证器来验证texbox.必需的字段验证器完全触发.我无法正确启动自定义验证器?

<asp:TextBox ID="txtPRI" runat="server" Width="295" /><br />

<asp:RequiredFieldValidator display="Dynamic" CssClass="leftAlign" SetFocusOnError="true"  runat="server" controltovalidate="txtPRI" errormessage="Please enter your PRI" />

 <asp:CustomValidator runat="server" id="cusCustom" controltovalidate="txtPRI" onservervalidate="cusCustom_ServerValidate" Enabled="true" ValidateEmptyText="true" display="Dynamic" CssClass="leftAlign" SetFocusOnError="true"  errormessage="The text must be exactly 8 characters long!" />
Run Code Online (Sandbox Code Playgroud)

代码背后

protected void cusCustom_ServerValidate(object sender, ServerValidateEventArgs e)
    {
        Response.Write("firing - test");
        Response.End();


        if (e.Value.Length == 8)
            e.IsValid = true;
        else
            e.IsValid = false;
    }
Run Code Online (Sandbox Code Playgroud)

c# asp.net validation customvalidator

28
推荐指数
5
解决办法
4万
查看次数

自定义验证程序客户端的动态错误消息

我正在使用自定义验证器来调用javascript函数进行验证.我的问题是我需要能够动态更改错误消息.这是代码:

            <asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="fcnValid1"
                ErrorMessage=""  Display="None" ValidateEmptyText="True">
            </asp:CustomValidator>

<asp:ValidationSummary ID="ValidationSummary1" runat="server" DisplayMode="List" ShowMessageBox="True" ShowSummary="False" />

    function fcnValid(source, args) {
        var Status = document.getElementById("<%=ddlStatus.ClientID%>").value

        if (Status == "In Underwriting") {
            if (document.getElementById("<%=txtRequestor.ClientID%>").value == "") {
                //sender.errormessage = "Test1"
                //sender.innerHTML = "Test2";
                document.getElementById("<%=txtRequestor.ClientID%>").focus();
                args.IsValid = false;
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

javascript asp.net ajax customvalidator

20
推荐指数
2
解决办法
3万
查看次数

使CustomValidator与ValidationSummary messagebox一起使用的优雅方法

我以前遇到过这个问题,但从未完全解决过.我有一个包含多个验证器和CustomValidator的表单.

<asp:Label ID="lblMemberNum" runat="server" Text="Membership #:" CssClass="LabelMedium"  ></asp:Label>
<asp:TextBox ID="txtMemberNum" runat="server" CssClass="TextBox" ></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvMemberNum" SetFocusOnError="True" runat="server"
    ControlToValidate="txtMemberNum" ErrorMessage="[ Membership # ] is required"
    CssClass="ValidationMessage" Display="Dynamic" >*</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="revMemberNum"  Display="Dynamic" runat="server" 
    ControlToValidate="txtMemberNum" CssClass="ValidationMessage" 
    ErrorMessage="[ Membership # ] can only contain letters" 
    ValidationExpression="^([a-zA-Z\d]+)$" >*</asp:RegularExpressionValidator>
<asp:CustomValidator ID="cvMemberNum" runat="server" 
    CssClass="ValidationMessage" Display="Dynamic"
    ControlToValidate="txtMemberNum" ValidateEmptyText="false"
    OnServerValidate="cvMemberNum_Validate" 
    ErrorMessage="This membership number is already registered">*</asp:CustomValidator>

<asp:ValidationSummary ID="ValidationSummary1" runat="server" 
    CssClass="ValidationMessage" 
    ShowMessageBox="True" ShowSummary="False" />
Run Code Online (Sandbox Code Playgroud)

在服务器端:

protected void cvMemberNum_Validate(object source, ServerValidateEventArgs args)
{
    try
    {
        args.IsValid  = (!CampaignRegistration.IsMemberRegistered(args.Value));
    }
    catch
    { …
Run Code Online (Sandbox Code Playgroud)

asp.net customvalidator validationsummary

19
推荐指数
3
解决办法
4万
查看次数

如何在ClientValidationFunction上获取'controlToValidate'属性?

可以说我有这个代码.

<asp:TextBox ID="TextBox1" runat="server" />

<asp:CustomValidator ID="CustomValidator1" runat="server"
    ClientValidationFunction="ValidationFunction1"
    ControlToValidate="TextBox1"
    Display="Dynamic" />
Run Code Online (Sandbox Code Playgroud)

还有一个validationFunction:

function ValidationFunction1(sender, args)
{
}
Run Code Online (Sandbox Code Playgroud)

而且我想知道,如果在函数内部我可以让Control来验证类似的东西:

var v = sender.ControlToValidate;
Run Code Online (Sandbox Code Playgroud)

c# asp.net validation customvalidator asp.net-validators

17
推荐指数
1
解决办法
2万
查看次数

ASP.NET自定义验证程序错误消息:无法验证属性引用的控件

我使用ASP.NET并有一个Button和一个CustomValidator,它必须验证按钮.

<asp:Button ID="saveButton" runat="server" OnClick="SaveButton_Click" Text="Speichern"
    CausesValidation="true"/>
<asp:CustomValidator runat="server" ID="saveCValidator" Display="Static"
    OnServerValidate="EditPriceCValidator_ServerValidate"   
    ControlToValidate="saveButton" ErrorMessage="">
Run Code Online (Sandbox Code Playgroud)

加载页面时,收到错误消息:

"无法验证由'saveCValidator'的ControlToValidate属性引用的控件'saveButton'."

可能是什么问题?我在网上搜索,但这没有多大帮助.

asp.net customvalidator

16
推荐指数
2
解决办法
3万
查看次数

CustomValidator ServerValidate方法不会触发

CustomValidator在表格上写了一个.我没有设置它的ControlToValidate财产.在它的ServerValidate事件中,我写了以下内容:

protected void CustomValidator1_ServerValidate(object source,      
                                               ServerValidateEventArgs args)
{
    args.IsValid = false;
}
Run Code Online (Sandbox Code Playgroud)

我给这个方法设了一个断点,但似乎从来没有达到这一点.但如果我在另一种形式上这样做,它就像一个魅力.

  1. ValidationGroup两个按钮和属性CustomValidator是相同的
  2. 我尝试在按钮和删除此属性CustomValidator,仍然无法正常工作.

似乎有形式的东西.我只是CustomValidator在表单上添加一个并且除了设置其ServerValidate事件方法之外不要触及它的任何属性.

编辑:这是aspx部分:

 <asp:CustomValidator ID="CustomValidator2" runat="server" 
       ErrorMessage="This is a test" 
   onservervalidate="CustomValidator1_ServerValidate" 
   ValidationGroup="PA"></asp:CustomValidator>


<asp:Button ID="btnPensionersOK" runat="server" Text="OK" Width="75px" 
          onclick="Button1_Click" ValidationGroup="PA" />
Run Code Online (Sandbox Code Playgroud)

c# asp.net customvalidator

11
推荐指数
1
解决办法
2万
查看次数

Spring 3.1自动装配在自定义约束验证器中不起作用

我在自定义约束验证器中有bean自动装配的问题.使用Spring的LocalValidatorFactoryBean不会给出约束验证器实例.JSR-303提供程序是hibernate-validator 4.2.0.Final.

Spring配置摘录:

<!-- JSR 303 validation -->
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />
<bean class="org.springframework.validation.beanvalidation.MethodValidationPostProcessor"/> 
Run Code Online (Sandbox Code Playgroud)

自定义约束验证器:

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;

import org.springframework.beans.factory.annotation.Autowired;

import com.model.Subject;
import com.services.SomeTypeService;

public class ReadOnlyValidator implements ConstraintValidator<ReadOnly, String> {

@Autowired
private SomeTypeService someTypeService;

@Override
public void initialize(ReadOnly constraintAnnotation) { }

@Override
public boolean isValid(String type, ConstraintValidatorContext context) {
    try {
         if (null != type) {
                        return !someTypeService.isReadonly(type);
                     }
    } catch (Exception e) {
        e.printStackTrace();
    }

    return false;
}
}
Run Code Online (Sandbox Code Playgroud)

注解:

import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;

import …
Run Code Online (Sandbox Code Playgroud)

validation spring customvalidator hibernate-validator

11
推荐指数
1
解决办法
8145
查看次数