Comments (7)
uniquewith-validator is intended as a Laravel validation rule for dealing with multi-column UNIQUE definitions in your SQL database. Therefore, the database will raise an error, if you attempt to insert a new record into the table anyways.
If you don't have a UNIQUE index in your database table, there could be a flag on the uniquewith-rule that tells it to ignore the deleted_at field. I will think about that one.
In the mean time, use this as a workaround:
Route::get('users/validate', function()
{
$rules = array(
'first_name' => 'required|unique_with:users,last_name,deleted_at',
'last_name' => 'required',
);
$input = array(
'first_name' => 'Felix',
'last_name' => 'Kiss',
'deleted_at' => null,
);
$validator = Validator::make($input, $rules);
// Validation will fail on every user name combination, which exists, but is not
// deleted while passing on all user name combination, if there already is an
// existing, deleted record with the same combination.
if($validator->fails())
{
var_dump($validator->errors());
exit();
}
return "success!";
});
from uniquewith-validator.
Have you solved it?
I really love your package and want to combine with softDelete.
Thanks.. :)
from uniquewith-validator.
I have almost same problem.
Is it possible to ignore with multiple field?
For example, i activated softDelete. So, when I update i want to ignore id
and deleted_at
row. How should I do that?
from uniquewith-validator.
I am using Laravel 5 and trying to ignore multiple fields validation using the rule
return [
'permission_id' => 'required',
'role_id' => 'required|unique_with:permission_role,permission_id,'.Input::get('role_id').'=role_id,'.Input::get('permission_id').'=permission_id'
];
however it turns up saying :
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'id' in 'where clause' (SQL: update permission_role
set permission_id
= 2 where id
is null)
There is no mention of id, instead i have used custom_id_column as per document,
for insert case
return [
'permission_id' => 'required',
'role_id' => 'required|unique_with:permission_role,permission_id'
];
works fine, however having trouble with the ignore case for update.
Thanks
from uniquewith-validator.
-
the error doesn't look to be referring to the validator but rather the update statement following a successful validation.
-
specifying more than one ignore column is currently not supported (I think Laravel's PresenceVerifier, which is used in the background, doesn't support multiple ignore columns either).
If you are updating a model, you can use the id
as the ignore column. Something like:
'role_id' => 'required|unique_with:permission_role, permission_id, ' . $model->id . ' = id',
from uniquewith-validator.
Thanks for the prompt response felixkiss ... yes the error is indeed after the validation, seems like i need to add up extra column for it then.
Regards
👍
from uniquewith-validator.
Thanks to #41 the README now documents how to use this package with soft deletes
from uniquewith-validator.
Related Issues (20)
- It only works for the current request HOT 4
- Bad method call HOT 1
- Validation fails when updating composite keys with ignore HOT 1
- Using that validation rule with renamed fileds
- Update for Laravel 6.0 HOT 1
- Can't seem to get it working for Polymorph fields HOT 2
- How to add deleted_at, NULL HOT 2
- Update for Laravel 8.0 HOT 10
- Please add support for PHP 8 HOT 1
- Ignore is not working in array validation HOT 1
- unique_with can't validation on multiple column
- Migrate test suite from Travis to Github Actions HOT 1
- Wrong locale set on app
- Compatibility Issue with laravel 9 php 8.X HOT 11
- Counter-intuitive deleted_at in rules
- Ignoring deleted items not working properly
- Laravel 5.4 : doesn't work on updating ! HOT 5
- its not working with database connection HOT 1
- Giving duplicate entry in every new entry HOT 2
- Is there a possibility of a validator plugin for exist_with? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from uniquewith-validator.