From b122d54f1b6a8508df9eb390d43c72647e69c057 Mon Sep 17 00:00:00 2001 From: Kyle Drake Date: Fri, 2 Feb 2024 15:38:38 -0600 Subject: [PATCH] catch for bad strings before validation --- app/create.rb | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/app/create.rb b/app/create.rb index edafcfbc..48f4e255 100644 --- a/app/create.rb +++ b/app/create.rb @@ -14,7 +14,15 @@ post '/create_validate_all' do content_type :json fields = params.select {|p| p.match CREATE_MATCH_REGEX} - site = Site.new fields + begin + site = Site.new fields + rescue ArgumentError => e + if e.message == 'input string invalid' + return {error: 'invalid input'}.to_json + else + raise e + end + end if site.valid? return [].to_json if education_whitelisted? @@ -32,7 +40,16 @@ post '/create_validate' do return {error: 'not a valid field'}.to_json end - site = Site.new(params[:field] => params[:value]) + begin + site = Site.new(params[:field] => params[:value]) + rescue ArgumentError => e + if e.message == 'input string invalid' + return {error: 'invalid input'}.to_json + else + raise e + end + end + site.is_education = params[:is_education] site.valid?