Ошибка Validation: дочерний & ldquo; пароль & rdquo; не удается, потому что [& ldquo; пароль & rdquo; необходимо]

Это может решить вашу проблему

. Я также столкнулся с той же проблемой в приложении ReactJS в режиме Production. Вот 2 решение проблемы.

1. Измените историю маршрутизации на «hashHistory» вместо браузераHistory вместо

 <Router history={hashHistory} >
   <Route path="/home" component={Home} />
   <Route path="/aboutus" component={AboutUs} />
 </Router>

Теперь создайте приложение, используя команду

sudo npm run build

Затем поместите папку сборки в папку var / www / Now. Теперь приложение отлично работает с добавлением # тега в каждом URL-адресе. как

localhost / # / home localhost / # / aboutus

Решение 2: Без # тега, использующего browserHistory,

Задайте свою историю = {browserHistory} в своем Router, теперь создайте его, используя sudo npm run build.

Вам нужно создать файл «conf» для решения 404 не найденной страницы, файл conf должен быть таким.

откройте свой тип терминала следующими командами

cd / etc / apache2 / sites-available ls nano sample.conf Добавьте в него содержимое ниже.

 <VirtualHost *:80>
    ServerAdmin admin@0.0.0.0
    ServerName 0.0.0.0
    ServerAlias 0.0.0.0
    DocumentRoot /var/www/html/

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    <Directory "/var/www/html/">
            Options Indexes FollowSymLinks
            AllowOverride all
            Require all granted
    </Directory>
</VirtualHost>

Теперь вам нужно включить файл sample.conf с помощью следующей команды

cd /etc/apache2/sites-available
sudo a2ensite sample.conf

, то он попросит вас перезагрузить сервер Apache, перезагрузив или перезагрузив sudo-сервис apache2 или перезагрузив

, затем откройте файл localhost / создайте папку и добавьте файл .htaccess с содержимым ниже.

   RewriteEngine On
   RewriteBase /
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME} !-l
   RewriteRule ^.*$ / [L,QSA]

Теперь приложение работает нормально.

Примечание: измените 0.0.0.0 ip на локальный IP-адрес.

Если какие-либо сомнения относительно этого, не стесняйтесь поднять комментарий.

Надеюсь, это полезно другим.

0
задан jeslin 16 January 2019 в 12:49
поделиться

1 ответ

Я создал простой тестовый костюм, и он прошел. Я не мог определить проблему по твоей валидации.

const Lab = require('lab');
const lab = exports.lab = Lab.script();
const describe = lab.describe;
const it = lab.it;
const expect = require('code').expect;
const Joi = require('joi');
describe('Validator accountSetupToken checks', () => {

    let validation = Joi.object().keys({
        name: Joi.string().required(),
        password: Joi.string().min(4).max(20).required(),
        verify: Joi.string().required(),
        email: Joi.string().email().required(),
        username: Joi.string().min(3).max(20).required(),
        referredBy: Joi.any(),
        dob: Joi.date().required().label('Date of Birth')
    });

    it('Reject invalid payload', async () => {
        const result = Joi.validate({
            name: 'vulcan',
            password: 'vulcan@123',
            verify: 'vulcan@123',
            email: 'vulcan@gmail.com',
            username: 'vulcan',
            referredBy: 'admin@gg',
            dob: '12/08/1994'
        }, validation, {abortEarly: false});
        expect(result.error).to.null();
        expect(result.error).to.not.exist();
    });

});

Вот результат.

> lab --coverage-exclude test/data -m 5000n -a code -P "simple" "test/validators"


  .

1 tests complete
Test duration: 13 ms
Assertions count: 2 (verbosity: 2.00)
No global variable leaks detected

Но тогда я увидел в вашем сообщении об исключении следующее

details:
   [ { message: '"password" is required',
       path: [Array],
       type: 'any.required',
       context: [Object] } ],
  _object:
   { password: undefined,
     cookie: 'GG-auth',
     isSecure: false,
     clearInvalid: true,
     ttl: 86400000,
     redirectTo: '/login',
     appendNext: true,
     redirectOnTry: false,
     isSameSite: 'Lax' },
  annotate: [Function] }

Поле пароля кажется неопределенным, вы уверены, что делаете правильный запрос на ваш маршрут?

0
ответ дан metoikos 16 January 2019 в 12:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: