mirror of
https://github.com/docusealco/docuseal
synced 2026-11-10 23:42:32 -05:00
validate email
This commit is contained in:
1 parent
e39e84adfa
commit
92cfd5624d
2 files changed
+13
-2
No files matched your search
@@ -92,8 +92,11 @@ class StartFormController < ApplicationController
|
|||||||
|
|
||||||
blank_fields = required_fields.select { |key| submitter_params[key].blank? }
|
blank_fields = required_fields.select { |key| submitter_params[key].blank? }
|
||||||
|
|
||||||
|
is_invalid_email = required_fields.include?('email') && submitter_params[:email].present? &&
|
||||||
|
!submitter_params[:email].match?(User::VALIDATE_EMAIL_REGEXP)
|
||||||
|
|
||||||
submitter =
|
submitter =
|
||||||
if blank_fields.present?
|
if blank_fields.present? || is_invalid_email
|
||||||
Submitter.new(submitter_params)
|
Submitter.new(submitter_params)
|
||||||
else
|
else
|
||||||
Submitters::StartForm.find_or_initialize_submitter(
|
Submitters::StartForm.find_or_initialize_submitter(
|
||||||
@@ -104,6 +107,12 @@ class StartFormController < ApplicationController
|
|||||||
|
|
||||||
blank_fields.each { |key| submitter.errors.add(key.to_sym, :blank) }
|
blank_fields.each { |key| submitter.errors.add(key.to_sym, :blank) }
|
||||||
|
|
||||||
|
if is_invalid_email
|
||||||
|
Rollbar.warning("Invalid start form email: #{submitter_params[:email]}") if defined?(Rollbar)
|
||||||
|
|
||||||
|
submitter.errors.add(:email, :invalid)
|
||||||
|
end
|
||||||
|
|
||||||
submitter
|
submitter
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
+3
-1
@@ -56,6 +56,8 @@ class User < ApplicationRecord
|
|||||||
FULL_EMAIL_REGEXP =
|
FULL_EMAIL_REGEXP =
|
||||||
/\A[a-z0-9][.']?(?:(?:[a-z0-9_-]+[.+'])*[a-z0-9_-]+)*@(?:[a-z0-9]+[.-])*[a-z0-9]+\.[a-z]{2,}\z/i
|
/\A[a-z0-9][.']?(?:(?:[a-z0-9_-]+[.+'])*[a-z0-9_-]+)*@(?:[a-z0-9]+[.-])*[a-z0-9]+\.[a-z]{2,}\z/i
|
||||||
|
|
||||||
|
VALIDATE_EMAIL_REGEXP = /\A[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\z/
|
||||||
|
|
||||||
has_one_attached :signature
|
has_one_attached :signature
|
||||||
has_one_attached :initials
|
has_one_attached :initials
|
||||||
|
|
||||||
@@ -78,7 +80,7 @@ class User < ApplicationRecord
|
|||||||
scope :archived, -> { where.not(archived_at: nil) }
|
scope :archived, -> { where.not(archived_at: nil) }
|
||||||
scope :admins, -> { where(role: ADMIN_ROLE) }
|
scope :admins, -> { where(role: ADMIN_ROLE) }
|
||||||
|
|
||||||
validates :email, format: { with: /\A[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}\z/ }
|
validates :email, format: { with: VALIDATE_EMAIL_REGEXP }
|
||||||
|
|
||||||
def access_token
|
def access_token
|
||||||
super || build_access_token.tap(&:save!)
|
super || build_access_token.tap(&:save!)
|
||||||
|
|||||||
Reference in new issue
Block a user