Jquery.rating.js validate issue on rails
Hi there iam making a form in rails that uses jquery.rating.js , im also
using jquery validation plugin .. I just need to make the stars rating
mandatory (10groups of stars from 1 to 5 stars) .. I search on this cause
i thougth there will be tons of topics, but i just could found 1 with my
issue, and it is not marked as correct answer .. Validation for a required
element, jQuery Star Rating
Also i dont think to "ignore" is the best way to validate a field. Im
using this one http://www.fyneworks.com/jquery/star-rating/
Ok in the application_helper.rb i have this
def rate(player, attribute, disabled=false)
rating = ''
rating = rating + label_tag(:attribute,
t("activerecord.attributes.player.#{attribute}") )
for i in 1..5
rating = rating + radio_button_tag("player[#{attribute}]", i,
player.send(attribute) == i ? true : false, :class => "star",
:disabled => disabled)
end
rating = rating
rating.html_safe
end
My Code wich is validating other stuff (i do not now how to set this to
validate he has rated each one of the questions)
Im using Jquery Validate.
<%= javascript_tag do %>
window.onload = function() {
// validate signup form on keyup and submit
$(".edit_player").validate({ // initialize the plugin
errorElement: 'div'});
$("#player_name").rules("add", { required: true, minlength:2, messages: {
required: "<%= t('generales.camporequerido') %>", minlength: "Mínimo 2
caracteres"}});
$("#player_lastname").rules("add", { required: true, minlength:2,
messages: { required: "<%= t('generales.camporequerido') %>", minlength:
"uh minlength?"}});
$("#player_birthday_1i").rules("add", { required: true, messages: {
required: "<%= t('generales.camporequerido') %>"}});
$("#player_birthday_2i").rules("add", { required: true, messages: {
required: "<%= t('generales.camporequerido') %>"}});
$("#player_birthday_3i").rules("add", { required: true, messages: {
required: "<%= t('generales.camporequerido') %>"}});
$("#player_height").rules("add", { required: true, messages: { required:
"<%= t('generales.camporequerido') %>"}});
$("#player_weight").rules("add", { required: true, messages: { required:
"<%= t('generales.camporequerido') %>"}});
$("#player_city").rules("add", { required: true, messages: { required:
"<%= t('generales.camporequerido') %>"}});
$("#player_birthplace").rules("add", { required: true, messages: {
required: "<%= t('generales.camporequerido') %>"}});
$("#player_citizen").rules("add", { required: true, messages: { required:
"<%= t('generales.camporequerido') %>"}});
$("#player_phone").rules("add", { required: true, messages: { required:
"<%= t('generales.camporequerido') %>"}});
$("#player_cellphone").rules("add", { required: true, messages: {
required: "<%= t('generales.camporequerido') %>"}});
$("#files").rules("add", { required: true, messages: { required: "<%=
t('generales.camporequerido') %>"}});
};
jQuery.extend(jQuery.validator.messages, {
required: "<%= t('generales.camporequerido') %>",
remote: "Please fix this field.",
email: "Ingresa un correo electrónico válido.",
url: "Please enter a valid URL.",
date: "Please enter a valid date.",
dateISO: "Please enter a valid date (ISO).",
number: "Please enter a valid number.",
digits: "Please enter only digits.",
creditcard: "Please enter a valid credit card number.",
equalTo: "Please enter the same value again.",
accept: "Please enter a value with a valid extension.",
maxlength: jQuery.validator.format("Please enter no more than {0}
characters."),
minlength: jQuery.validator.format("Please enter at least {0}
characters."),
rangelength: jQuery.validator.format("Please enter a value between {0}
and {1} characters long."),
range: jQuery.validator.format("Please enter a value between {0} and
{1}."),
max: jQuery.validator.format("Please enter a value less than or equal
to {0}."),
min: jQuery.validator.format("Please enter a value greater than or
equal to {0}.")
});
<% end %>
My html is printed like this
<span class="star-rating-control">
<div class="rating-cancel"><a title="Cancel Rating"></a></div>
<div class="star-rating rater-0 star star-rating-applied
star-rating-live" id="player_short_passes_1">
<a title="1">1</a></div><div class="star-rating rater-0 star
star-rating-applied star-rating-live" id="player_short_passes_2">
<a title="2">2</a></div><div class="star-rating rater-0 star
star-rating-applied star-rating-live" id="player_short_passes_3">
<a title="3">3</a></div><div class="star-rating rater-0 star
star-rating-applied star-rating-live" id="player_short_passes_4">
<a title="4">4</a></div><div class="star-rating rater-0 star
star-rating-applied star-rating-live" id="player_short_passes_5">
<a title="5">5</a></div></span>
No comments:
Post a Comment