Ruby on Rails
Monday, July 6, 2015
CORRECTION:
On Monday, July 6, 2015 at 4:43:45 PM UTC-4, Elizabeth McGurty wrote:
Working with incomplete information here...
Single input, multiple values. I do not understand why? There are so many resources available for you to permit users to enter multiple and distinct emails values.
The following is crude, but I think that it may be helpful....
Well as far as I know you can't use
ActionView::Helpers::FormHelper : http://api.rubyonrails.org/ classes/ActionView/Helpers/ FormHelper.html#method-i- email_field
email_field(object_name, method, options = {})
From the browser instance, you can introduce an onChange event on your multiple value email field with JQuery/JavaScript:
making a call to something like (just offered as psuedo code):
var my_failed_email_address = Array // outside of the function, maybe
function validEmail(multiple_email_element_by_id)
return_value = true;
var emailRegex = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0- 9-]{0,61}[a-zA-Z0-9])?(?:\.[a- zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[ a-zA-Z0-9])?)*$/;
/// Someone can probably suggest a better reg exp
Use Jquery to split the multiple_email_element_by_id field value by your required delimiter(s) and put it into an array...
var my_email_address = Array // Use the above to populate the array
For each element in resulting array
if (!( emailRegex.test(increment value) ) )
return_value = true;
else
my_failed_email_address.push(that element) // Otherwise add new value to array
return_value = false
end
return return_value
--end
If this returns false, then you have numerous options: you can inform the user of failed email address(es) with an alert, populate some html span/error associated with the email input with meaningful error message, or change the css on the email input....
Or you can use validation in the Controller or Model in a similar fashion
In the Controller, parse the multiple email field from params and write a method to test for validity of each. If failure turn to originating render
In the model, make accessible your multiple_email field, and write call back to parse the field for validation. On failure, inform user at View level with if model.errors.any?
Liz
On Monday, July 6, 2015 at 3:52:49 PM UTC-4, StepaAr wrote:theoretically unlimited
example picture
On Monday, July 6, 2015 at 9:46:22 PM UTC+2, Elizabeth McGurty wrote:Predictably how many?
On Monday, July 6, 2015 at 3:04:57 PM UTC-4, StepaAr wrote:yes.
On Monday, July 6, 2015 at 7:46:57 PM UTC+2, Elizabeth McGurty wrote:Before I respond, are you saying that in a single input you are gathering multiple email addresses?
On Monday, July 6, 2015 at 11:58:39 AM UTC-4, StepaAr wrote:I have a couple questions.
1) I have a couple of emails.They are separated between buy comma or space.How to find which one is correct? I was thinking using regular expression like this one :/\A[\w+\-.]+@[a-z\d\-]+(\.[a-z]+)*\.[a-z]+\z/ i
2)How to put valid email address to database ?
3)If some email address is not valid then i have to give a massage using client-side which email are not valid
I was thinkingjavascript.But how?I don't know to use rails and javascript
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/724a601d-66a8-442a-b78f-558efb892483%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Subscribe to:
Post Comments (Atom)

No comments:
Post a Comment