Fixed validation rules.

This commit is contained in:
James Cole 2017-09-12 21:44:31 +02:00
parent 4f934e54cf
commit 262f8a33c6
No known key found for this signature in database
GPG Key ID: C16961E655E74B5E
30 changed files with 64 additions and 50 deletions

View File

@ -48,7 +48,6 @@ class RegisterController extends Controller
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|string|max:255',
'email' => 'required|string|email|max:255|unique:users',
'password' => 'required|string|min:6|confirmed',
]);
@ -63,7 +62,6 @@ class RegisterController extends Controller
protected function create(array $data)
{
return User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => bcrypt($data['password']),
]);

View File

@ -75,13 +75,13 @@ class AccountFormRequest extends Request
return [
'id' => $idRule,
'name' => $nameRule,
'openingBalance' => 'numeric|required_with:openingBalanceDate',
'openingBalanceDate' => 'date|required_with:openingBalance',
'iban' => 'iban',
'BIC' => 'bic',
'virtualBalance' => 'numeric',
'openingBalance' => 'numeric|required_with:openingBalanceDate|nullable',
'openingBalanceDate' => 'date|required_with:openingBalance|nullable',
'iban' => 'iban|nullable',
'BIC' => 'bic|nullable',
'virtualBalance' => 'numeric|nullable',
'currency_id' => 'exists:transaction_currencies,id',
'accountNumber' => 'between:1,255|uniqueAccountNumberForUser',
'accountNumber' => 'between:1,255|uniqueAccountNumberForUser|nullable',
'accountRole' => 'in:' . $accountRoles,
'active' => 'boolean',
'ccType' => 'in:' . $ccPaymentTypes,

View File

@ -47,7 +47,7 @@ class AttachmentFormRequest extends Request
*/
public function rules()
{
// fixed
return [
'title' => 'between:1,255|nullable',
'description' => 'between:1,65536|nullable',

View File

@ -61,7 +61,7 @@ class BillFormRequest extends Request
$nameRule .= ',' . intval($this->get('id'));
$matchRule .= ',' . intval($this->get('id'));
}
// is OK
$rules = [
'name' => $nameRule,
'match' => $matchRule,

View File

@ -47,6 +47,7 @@ class BudgetFormRequest extends Request
*/
public function rules()
{
// fixed
/** @var BudgetRepositoryInterface $repository */
$repository = app(BudgetRepositoryInterface::class);
$nameRule = 'required|between:1,100|uniqueObjectForUser:budgets,name';

View File

@ -35,6 +35,7 @@ class BudgetIncomeRequest extends Request
*/
public function rules()
{
// fixed
return [
'amount' => 'numeric|required|min:0',
'start' => 'required|date|before:end',

View File

@ -53,7 +53,7 @@ class CategoryFormRequest extends Request
if (!is_null($repository->find(intval($this->get('id')))->id)) {
$nameRule = 'required|between:1,100|uniqueObjectForUser:categories,name,' . intval($this->get('id'));
}
// fixed
return [
'name' => $nameRule,
];

View File

@ -46,6 +46,7 @@ class ConfigurationRequest extends Request
*/
public function rules()
{
// fixed
$rules = [
'single_user_mode' => 'between:0,1|numeric',
'is_demo_site' => 'between:0,1|numeric',

View File

@ -48,7 +48,7 @@ class CurrencyFormRequest extends Request
*/
public function rules()
{
// fixed
$rules = [
'name' => 'required|max:48|min:1|unique:transaction_currencies,name',
'code' => 'required|min:3|max:3|unique:transaction_currencies,code',

View File

@ -35,6 +35,7 @@ class DeleteAccountFormRequest extends Request
*/
public function rules()
{
// fixed
return [
'password' => 'required',
];

View File

@ -42,6 +42,8 @@ class ExportFormRequest extends Request
$today = Carbon::create()->addDay()->format('Y-m-d');
$formats = join(',', array_keys(config('firefly.export_formats')));
// fixed
return [
'export_start_range' => 'required|date|after:' . $first,
'export_end_range' => 'required|date|before:' . $today,

View File

@ -35,6 +35,7 @@ class ImportUploadRequest extends Request
*/
public function rules()
{
// fixed
$types = array_keys(config('firefly.import_formats'));
return [

View File

@ -88,24 +88,24 @@ class JournalFormRequest extends Request
'date' => 'required|date',
// then, custom fields:
'interest_date' => 'date',
'book_date' => 'date',
'process_date' => 'date',
'due_date' => 'date',
'payment_date' => 'date',
'invoice_date' => 'date',
'internal_reference' => 'min:1,max:255',
'notes' => 'min:1,max:50000',
'interest_date' => 'date|nullable',
'book_date' => 'date|nullable',
'process_date' => 'date|nullable',
'due_date' => 'date|nullable',
'payment_date' => 'date|nullable',
'invoice_date' => 'date|nullable',
'internal_reference' => 'min:1,max:255|nullable',
'notes' => 'min:1,max:50000|nullable',
// and then transaction rules:
'description' => 'required|between:1,255',
'amount' => 'numeric|required|more:0',
'budget_id' => 'mustExist:budgets,id|belongsToUser:budgets,id',
'category' => 'between:1,255',
'source_account_id' => 'numeric|belongsToUser:accounts,id',
'source_account_name' => 'between:1,255',
'destination_account_id' => 'numeric|belongsToUser:accounts,id',
'destination_account_name' => 'between:1,255',
'piggy_bank_id' => 'between:1,255',
'budget_id' => 'mustExist:budgets,id|belongsToUser:budgets,id|nullable',
'category' => 'between:1,255|nullable',
'source_account_id' => 'numeric|belongsToUser:accounts,id|nullable',
'source_account_name' => 'between:1,255|nullable',
'destination_account_id' => 'numeric|belongsToUser:accounts,id|nullable',
'destination_account_name' => 'between:1,255|nullable',
'piggy_bank_id' => 'between:1,255|nullable',
// foreign currency amounts
'native_amount' => 'numeric|more:0|nullable',
@ -133,10 +133,10 @@ class JournalFormRequest extends Request
switch ($what) {
case strtolower(TransactionType::WITHDRAWAL):
$rules['source_account_id'] = 'required|exists:accounts,id|belongsToUser:accounts';
$rules['destination_account_name'] = 'between:1,255';
$rules['destination_account_name'] = 'between:1,255|nullable';
break;
case strtolower(TransactionType::DEPOSIT):
$rules['source_account_name'] = 'between:1,255';
$rules['source_account_name'] = 'between:1,255|nullable';
$rules['destination_account_id'] = 'required|exists:accounts,id|belongsToUser:accounts';
break;
case strtolower(TransactionType::TRANSFER):

View File

@ -64,7 +64,7 @@ class JournalLinkRequest extends Request
$combinations[] = sprintf('%d_outward', $type->id);
}
$string = join(',', $combinations);
// fixed
return [
'link_type' => sprintf('required|in:%s', $string),
'link_other' => 'belongsToUser:transaction_journals',

View File

@ -36,6 +36,8 @@ class LinkTypeFormRequest extends Request
*/
public function rules()
{
// fixed
/** @var LinkTypeRepositoryInterface $repository */
$repository = app(LinkTypeRepositoryInterface::class);
$nameRule = 'required|min:1|unique:link_types,name';

View File

@ -35,6 +35,7 @@ class MassDeleteJournalRequest extends Request
*/
public function rules()
{
// fixed
return [
'confirm_mass_delete.*' => 'required|belongsToUser:transaction_journals,id',
];

View File

@ -35,6 +35,8 @@ class MassEditJournalRequest extends Request
*/
public function rules()
{
// fixed
return [
'description.*' => 'required|min:1,max:255',
'source_account_id.*' => 'numeric|belongsToUser:accounts,id',

View File

@ -35,6 +35,7 @@ class NewUserFormRequest extends Request
*/
public function rules()
{
// fixed
return [
'bank_name' => 'required|between:1,200',
'bank_balance' => 'required|numeric',

View File

@ -54,7 +54,6 @@ class PiggyBankFormRequest extends Request
{
$nameRule = 'required|between:1,255|uniquePiggyBankForUser';
$targetDateRule = 'date';
if (intval($this->get('id'))) {
$nameRule = 'required|between:1,255|uniquePiggyBankForUser:' . intval($this->get('id'));
}
@ -66,7 +65,7 @@ class PiggyBankFormRequest extends Request
'targetamount' => 'required|numeric|more:0',
'amount_currency_id_targetamount' => 'required|exists:transaction_currencies,id',
'startdate' => 'date',
'targetdate' => $targetDateRule,
'targetdate' => 'date|nullable',
'order' => 'integer|min:1',
];

View File

@ -35,6 +35,7 @@ class ProfileFormRequest extends Request
*/
public function rules()
{
// fixed
return [
'current_password' => 'required',
'new_password' => 'required|confirmed|secure_password',

View File

@ -44,6 +44,7 @@ class ReportFormRequest extends Request
*/
public function getAccountList(): Collection
{
// fixed
/** @var AccountRepositoryInterface $repository */
$repository = app(AccountRepositoryInterface::class);
$set = $this->get('accounts');

View File

@ -72,7 +72,7 @@ class RuleFormRequest extends Request
}
$rules = [
'title' => $titleRule,
'description' => 'between:1,5000',
'description' => 'between:1,5000|nullable',
'stop_processing' => 'boolean',
'rule_group_id' => 'required|belongsToUser:rule_groups',
'trigger' => 'required|in:store-journal,update-journal',

View File

@ -48,6 +48,7 @@ class RuleGroupFormRequest extends Request
*/
public function rules()
{
// fixed
/** @var RuleGroupRepositoryInterface $repository */
$repository = app(RuleGroupRepositoryInterface::class);
$titleRule = 'required|between:1,100|uniqueObjectForUser:rule_groups,title';

View File

@ -37,10 +37,10 @@ class SelectTransactionsRequest extends Request
*/
public function rules()
{
// fixed
$sessionFirst = clone session('first');
$first = $sessionFirst->subDay()->format('Y-m-d');
$today = Carbon::create()->addDay()->format('Y-m-d');
$first = $sessionFirst->subDay()->format('Y-m-d');
$today = Carbon::create()->addDay()->format('Y-m-d');
return [
'start_date' => 'required|date|after:' . $first,

View File

@ -68,16 +68,16 @@ class SplitJournalFormRequest extends Request
'journal_source_account_name.*' => 'between:1,255',
'journal_currency_id' => 'required|exists:transaction_currencies,id',
'date' => 'required|date',
'interest_date' => 'date',
'book_date' => 'date',
'process_date' => 'date',
'interest_date' => 'date|nullable',
'book_date' => 'date|nullable',
'process_date' => 'date|nullable',
'transactions.*.description' => 'required|between:1,255',
'transactions.*.destination_account_id' => 'numeric|belongsToUser:accounts,id',
'transactions.*.destination_account_name' => 'between:1,255',
'transactions.*.destination_account_name' => 'between:1,255|nullable',
'transactions.*.amount' => 'required|numeric',
'transactions.*.budget_id' => 'belongsToUser:budgets,id',
'transactions.*.category' => 'between:1,255',
'transactions.*.piggy_bank_id' => 'between:1,255',
'transactions.*.category' => 'between:1,255|nullable',
'transactions.*.piggy_bank_id' => 'between:1,255|nullable',
];
}

View File

@ -77,11 +77,11 @@ class TagFormRequest extends Request
return [
'tag' => $tagRule,
'id' => $idRule,
'description' => 'min:1',
'date' => 'date',
'latitude' => 'numeric|min:-90|max:90',
'longitude' => 'numeric|min:-90|max:90',
'zoomLevel' => 'numeric|min:0|max:80',
'description' => 'min:1|nullable',
'date' => 'date|nullable',
'latitude' => 'numeric|min:-90|max:90|nullable',
'longitude' => 'numeric|min:-90|max:90|nullable',
'zoomLevel' => 'numeric|min:0|max:80|nullable',
];
}
}

View File

@ -35,7 +35,7 @@ class TestRuleFormRequest extends Request
*/
public function rules()
{
// fixed
$validTriggers = array_keys(config('firefly.rule-triggers'));
$rules = [
'rule-trigger.*' => 'required|min:1|in:' . join(',', $validTriggers),

View File

@ -35,7 +35,7 @@ class TokenFormRequest extends Request
*/
public function rules()
{
// fixed
$rules = [
'code' => 'required|2faCode',
];

View File

@ -52,7 +52,7 @@ class UserFormRequest extends Request
'id' => 'required|exists:users,id',
'email' => 'email|required',
'password' => 'confirmed|secure_password',
'blocked_code' => 'between:0,30',
'blocked_code' => 'between:0,30|nullable',
'blocked' => 'between:0,1|numeric',
];
}

View File

@ -33,6 +33,7 @@ class UserRegistrationRequest extends Request
*/
public function rules()
{
// fixed
return [
'email' => 'email|required',
'password' => 'confirmed|secure_password',