jQuery验证规则和消息 [英] jQuery Validation rules and messages

查看:97
本文介绍了jQuery验证规则和消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在设置jQuery验证的规则和消息时遇到麻烦.

I'm having trouble setting ups the rules and messages for jQuery Validation.

我正在尝试从resume [zip_code]中获取值,但是我不知道如何在JQuery中编写它.我尝试过

I'm trying to get the value from resume[zip_code], but I don't know how to write it in JQuery. I tried

rules: {
  resume[zip_code]: required: true
}

但不起作用.

这是我需要从中获取值的地方.

This is where I need to get the values from.

<div class='control-group'><label class='control-label'>Zip Code: </label>
  <div class='controls'>
    <input class="required" type='text' name='resume[zip_code]'>
  </div>
</div>

应用代码

post '/create_resume' do
  session[:errors].clear
    @user = User.first(:email_address => session['user'])
    @resume = @user.resumes.new(params[:resume])
    @resume.save

  params[:education].each_key do |school|
    @school = @resume.educations.new(params[:education][school]
    @school.save
  end

  params[:job].each_key do |job|
    @job = @resume.jobs.new(params[:job][job])
    @job.save
  end

  params[:otherskill].each_key do |other|
    @otherskill = @resume.otherskills.new(params[:otherskill][other])
    @otherskill.save
  end

  if session[:errors].empty? === false
    erb :resume_form
  else
    session[:resume_output].clear
    erb :resume_output 
  end
end

jQuery

我知道布局是什么,但是不知道如何获取值

I know what the layout is but just don't know how to retrieve the values

$(#myForm).validate({
  rules: {
    something: key => value
  },
  messages: {
    something: "value"
  }
});

推荐答案

我不知道如何编写规则,因为您从未说明想要的规则.仅使用提供的HTML,这就是设置规则和消息的方式.

I have no idea how to write your rules since you never stated which rules you wanted. Using only your provided HTML, this is how you'd set up rules and messages.

为演示用法,我任意将字段required的长度最小为5个数字.

To demonstrate usage, I am arbitrarily making the field required with a minimum length of 5 numbers.

相应地编辑并添加自己的规则.

Edit and add your own rules accordingly.

$('#myForm').validate({
  rules: {
    "resume[zip_code]": {
         required: true,
         minlength: 5,
         digits: true
     }
  },
  messages: {
    "resume[zip_code]": {
         required: "this field is required",
         minlength: "this field must contain at least {0} characters",
         digits: "this field can only contain numbers"
     }
  }
});

您也不需要将class="required"放在HTML内,因为该规则已经用jQuery .validate()方法指定了.

You also do not need to put class="required" within the HTML because this rule is already specified with your jQuery .validate() method.

<input type='text' name='resume[zip_code]' />

工作演示:

> http://jsfiddle.net/vL7ps/

有关所有方法和规则,请参见文档:

See documentation for all methods and rules:

http://docs.jquery.com/Plugins/Validation

如果要将字段验证为必需的美国邮政编码,只需使用zipcodeUS规则,但必须首先包括其他方法"文件

If you want to validate the field as a required US Zip Code, simply use the zipcodeUS rule, but you must first include the "Additional Methods" file found here.

http://ajax.aspnetcdn.com /ajax/jquery.validate/1.10.0/additional-methods.js

jQuery:

rules: {
  "resume[zip_code]": {
    required: true,
    zipcodeUS: true
  }
},
messages: {
  "resume[zip_code]": {
    required: "this field is required",
    zipcodeUS: "this field must contain valid US zip code"
  }
}

演示: http://jsfiddle.net/k6eLf/

这篇关于jQuery验证规则和消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆