本文整理匯總了TypeScript中server/libs/validator.password函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript password函數的具體用法?TypeScript password怎麽用?TypeScript password使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了password函數的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: isSignupEmailValid
export async function isSignupEmailValid(param : Request.SignupEmail, alreadyExistsAccount : Account, locale : string) : Promise<ValidationResult>
{
const log = slog.stepIn('SignupApi', 'isSignupEmailValid');
const response : Response.SignupEmail = {status:Response.Status.OK, message:{}};
const {email, password} = param;
do
{
// メールアドレス検証
const resultEmail = await Validator.email(email, 0, alreadyExistsAccount, locale);
if (resultEmail.status !== Response.Status.OK)
{
response.status = resultEmail.status;
response.message.email = resultEmail.message;
}
// パスワード検証
const passwordResult = Validator.password({password}, locale);
if (passwordResult.status !== Response.Status.OK)
{
response.status = passwordResult.status;
response.message.password = passwordResult.password;
}
}
while (false);
if (response.status !== Response.Status.OK) {
log.w(JSON.stringify(response, null, 2));
}
log.stepOut();
return {response};
}
示例2:
test.serial('パスワード検証 - 英數以外の時は失敗すること', (t) =>
{
const log = slog.stepIn('test', t['_test'].title);
const password = 'あいうえおかきくけこ';
const result = Validator.password({password}, locale);
const {status} = result;
log.d(JSON.stringify(result, null, 2));
t.is(status, Response.Status.FAILED);
log.stepOut();
});
示例3: isResetPasswordValid
export function isResetPasswordValid(param : Request.ResetPassword, account : Account, locale : string) : ValidationResult
{
const log = slog.stepIn('ResetApi', 'isResetPasswordValid');
const response : Response.ResetPassword = {status:Response.Status.OK, message:{}};
const {password, confirm} = param;
do
{
// アカウント存在検証
if (account === null)
{
// パスワードリセットの畫麵でパスワードリセットを完了させた後、再度パスワードリセットを完了させようとした場合にここに到達する想定。
// リセットIDで該當するアカウントがないということが必ずしもパスワードリセット済みを意味するわけではないが、
// 第三者が直接このAPIをコールするなど、想定以外のケースでなければありえないので、パスワードリセット済みというメッセージでOK。
response.status = Response.Status.FAILED;
response.message.general = R.text(R.ALREADY_PASSWORD_RESET, locale);
break;
}
// パスワード検証
const passwordResult = Validator.password({password, confirm}, locale);
if (passwordResult.status !== Response.Status.OK)
{
response.status = passwordResult.status;
response.message.password = passwordResult.password;
response.message.confirm = passwordResult.confirm;
}
}
while (false);
if (response.status !== Response.Status.OK) {
log.w(JSON.stringify(response, null, 2));
}
log.stepOut();
return {response};
}
示例4: isJoinValid
export async function isJoinValid(param : Request.Join, account : Account, locale : string) : Promise<ValidationResult>
{
const log = slog.stepIn('SignupApi', 'isJoinValid');
const response : Response.Join = {status:Response.Status.OK, message:{}};
const {password} = param;
do
{
// アカウント存在検証
if (account === null)
{
// 參加畫麵で參加を完了させた後、再度參加を完了させようとした場合にここに到達する想定。
// 招待IDで該當するアカウントがないということが必ずしも參加済みを意味するわけではないが、
// 第三者が直接このAPIをコールするなど、想定以外のケースでなければありえないので、登録済みというメッセージでOK。
response.status = Response.Status.FAILED;
response.message.general = R.text(R.ALREADY_JOIN, locale);
break;
}
// パスワード検証
const passwordResult = Validator.password({password}, locale);
if (passwordResult.status !== Response.Status.OK)
{
response.status = passwordResult.status;
response.message.password = passwordResult.password;
}
}
while (false);
if (response.status !== Response.Status.OK) {
log.w(JSON.stringify(response, null, 2));
}
log.stepOut();
return {response};
}
示例5: isChangePasswordValid
export async function isChangePasswordValid(param : Request.ChangePassword, myAccountId : number, locale : string) : Promise<ValidationResult>
{
const log = slog.stepIn('SettingsApi', 'isChangePasswordValid');
const response : Response.ChangePassword = {status:Response.Status.OK, message:{}};
const {oldPassword, newPassword, confirm} = param;
let account : Account = null;
do
{
// パスワード検証
const passwordResult = Validator.password({password:newPassword, confirm, canNull:true}, locale);
if (passwordResult.status !== Response.Status.OK)
{
response.status = passwordResult.status;
response.message.newPassword = passwordResult.password;
response.message.confirm = passwordResult.confirm;
}
// アカウント存在検証
account = await AccountAgent.find(myAccountId);
if (account === null)
{
response.status = Response.Status.FAILED;
response.message.general = R.text(R.ACCOUNT_NOT_FOUND, locale);
break;
}
// メールアドレスが設定されているかどうか
if (account.email === null)
{
response.status = Response.Status.FAILED;
response.message.general = R.text(R.CANNOT_SET_PASSWORD, locale);
}
// パスワードを未設定にする場合は他に認証手段があるかどうか
if (newPassword === null)
{
if (AccountAgent.canUnlink(account, 'email') === false)
{
response.status = Response.Status.FAILED;
response.message.newPassword = R.text(R.CANNOT_NO_SET_PASSWORD, locale);
}
}
// 現在のパスワードと現在のパスワードとして入力されたパスワードが一致するかどうか
if (account.password !== null || oldPassword !== null)
{
const hashPassword = Utils.getHashPassword(account.email, oldPassword, Config.PASSWORD_SALT);
if (hashPassword !== account.password)
{
response.status = Response.Status.FAILED;
response.message.oldPassword = R.text(R.INVALID_PASSWORD, locale);
}
}
}
while (false);
if (response.status !== Response.Status.OK) {
log.w(JSON.stringify(response, null, 2));
}
log.stepOut();
return {response, account};
}