pub struct Password { /* private fields */ }Expand description
What a password must contain; Field::password(&policy) checks it.
The built-in register, reset and account forms use the app’s policy
(Auth::password_rules), Password::min(8) by default.
use renox::validation::Password;
fn rules(&self, v: &mut Validator) {
let policy = Password::min(12).mixed_case().numbers().symbols();
v.field("password", &self.password).required().password(&policy);
}Implementations§
Source§impl Password
impl Password
Sourcepub fn uncompromised(self) -> Self
pub fn uncompromised(self) -> Self
Not a password found in a known data breach (Laravel’s
uncompromised), checked with Have I Been Pwned: only the first
five characters of the password’s SHA-1 leave the server
(k-anonymity), through state.http (faked in tests). When the
service can’t be reached the password is allowed and a warning
logged. Runs once the other rules pass.
Sourcepub fn mixed_case(self) -> Self
pub fn mixed_case(self) -> Self
At least one uppercase and one lowercase letter.
Trait Implementations§
impl Eq for Password
impl StructuralPartialEq for Password
Auto Trait Implementations§
impl Freeze for Password
impl RefUnwindSafe for Password
impl Send for Password
impl Sync for Password
impl Unpin for Password
impl UnsafeUnpin for Password
impl UnwindSafe for Password
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more