フォームに Zurb Foundation の Abide 検証を使用しています。フォームをレンダリングすると、フォームにはnovalidate
属性があります。で属性を削除しました
$('#new_user').removeAttr('novalidate')
ページを更新しましたが、送信できません。を追加する必要があることがわかりまし$('#new_user').validate()
たが、どちらも機能しませんでした。代わりに、novalidate を追加しました。
$("#new_user").removeAttr('novalidate')
$( ->
subscription.setupForm()
subscription =
setupFrom: ->
$('#new_user').submit ->
$('input[type=submit]').attr('disabled', true)
if $('#card_number').length
subscription.processCard()
false
else
true
processCard: ->
card =
number: $('#card_number').val()
cvc: $('#card_code').val()
expMonth: $('#card_month').val()
expYear: $('#card_year').val()
Stripe.createToken(card, subscription.handleStripeResponse)
handleStripeResponse: (status, response) ->
if status == 200
$('#subscription_stripe_card_token').val(response.id)
$('#new_subscription')[0].submit()
else
$('#stripe_error').text(response.error.message)
$('input[type=submit]').attr('disabled', false)
)
フォームの始まり
= form_for(resource, as: resource_name, url: registration_path(resource_name), data: {abide: true}) do |f|
= devise_error_messages!
= hidden_field_tag 'plan', @plan
.field
= f.label :name, 'Full name'
= f.email_field :name, autofocus: true, required: true, pattern: 'name'
%small.error
You must enter in your full name
...