Ошибка укажите допустимое число больше 0

I gotta validate a price field which needs to be greater than zero (0.01 is valid) so I have the following validation:

$request->validate([
            'product_price' => 'required|numeric|gt:0',
        ]);

The problem is that when I enter a string in the ‘product_price’ field I’m getting an error:

InvalidArgumentException The values under comparison must be of the
same type

why is that? I mean, I’m checking that it should be numeric before even checking that it’s > 0

asked Sep 19, 2018 at 3:47

MrCujo's user avatar

1

gt, gte, lt and lte are added in Laravel 5.6 and later versions, I’m guessing that must be the reason for you get the error. (It’s working for me though.)

I think you can try like this

$request->validate([
    'product_price' => 'required|numeric|min:0|not_in:0',
]);

min:0 make sure the minimum value is 0 and no negative values are allowed. not_in:0 make sure value cannot be 0. So, combination of both of these rules does the job.

You can define meaningful error messages for certain rule. (You can achieve the same result using regular expressions as well.)

answered Sep 19, 2018 at 5:37

Tharindu Thisarasinghe's user avatar

7

I can see that none of the other answers have addressed the real reason you’re getting this error, I’ll try and provide some insights and a solution to it.

The problem here is that Laravel is testing all validation rules and not stopping after the first validation error which in your case is numeric (which fails since the value provided is a string), if it did that the error with the gt validator being provided a string value wouldn’t be thrown since the validator has already exited after the numeric error.

To have Laravel stop the validation checks after the first failed validation rule, you can prefix your validation rules with the bail validator which basically tells Laravel to stop after the first error.

The resulting code would look like this:

$request->validate([
    'product_price' => 'bail|required|numeric|gt:0',
]);

Note that this solution also makes it so that only a single error is ever returned per field, if in your UI you usually display all the errors for a particular field at a time (instead of only picking the first one from the message bag), this solution would change that.

More information on the bail validation rule can be found here: https://laravel.com/docs/6.x/validation#rule-bail

answered Feb 11, 2020 at 14:38

effy's user avatar

effyeffy

4108 silver badges20 bronze badges

For me, this code is working in my project.

$validation_rules = array( 
                'user_id' => 'required|integer|gt:0',
                'type_id' => 'required|integer|gt:0',
            );
$validation = Validator::make($request->all(), $validation_rules);

Here, gt:0 check if the integer is greater than zero.

Hope, this will work for you. If not then please check your Laravel version.

answered Nov 28, 2019 at 10:32

Chandan Sharma's user avatar

You can try this way ,

Before invoking the Validator::make() function, modify the set of rules by appending the value to compare to like so:

use Illuminate\Support\Facades\Validator;

Validator::extend('greater_than', function ($attribute, $value, $otherValue) {
      return intval($value) > intval($otherValue[0]);
});

$validation = Validator::make($input, ['amount' => 'required|numeric|greater_than:0']);

answered Sep 19, 2018 at 4:06

Mayank Majithia's user avatar

For me, this code is working in my project,

use Validator;

 $rules = [
            'product_price' => 'required|gt:0',
        ];

$validator = Validator::make($request->all(), $rules);


if ($validator->fails()) {
  return response()->json(array('status' => false, 'msg' => $validator->errors()->first()));
            exit;
        }

answered Jun 2, 2021 at 6:17

lovelesh singh's user avatar

Содержание

  1. [Инструкция] Создание гугл-тестов (гугл-форм)
  2. Входящая задача
  3. Шаг 1 — создание теста (формы)
  4. Шаг 2. Создание Теста (формы)
  5. Шаг 3. Элементы управления
  6. Элемент управления “Настройки”
  7. Шаг 4. Создаем тест
  8. Шаг 4. Отправка теста (формы)
  9. Обработка оценок за тесты в Google Forms
  10. Листы T1, T2, T3.
  11. Лист Source
  12. Лист Grade Book

[Инструкция] Создание гугл-тестов (гугл-форм)

Спасибо пользователям Exosphere и Yuriy_krd за помощь и конструктивную критику

Иногда кажется, что создать что-то по конструктору весьма быстро и просто: хоть сайт, хоть опрос, хоть таблицы. Однако часто упускаешь из внимания какие-то обидные мелочи, из-за которых время уходит впустую и приходится переделывать работу из-за обидного пустяка. Согласитесь, неприятно. Я решил пройти все процессы за вас и предупредить о возможных неприятных мелочах, а также помочь новичкам.

В этой статье мы с вами сделаем гугл-форму, с помощью которой можно собирать данные, опрашивать сотрудников, клиентов, проводить тестирования гипотез и проч. Кстати, крайне актуальная информация в условиях удалённой работы.

Для создания тестов у вас должен быть активный гугл-аккаунт. Если у вас его нет — обратитесь к инструкции “Создание гугл-аккаунта и работа с Гугл-диском”.

Итак, создаем Форму (тестирование).

Входящая задача

Нам нужно создать тестирование, которое будет собирать набор информации.

  1. Фамилию и имя тестируемого.
  2. Адрес электронной почты — это необходимо при опросе известных адресатов, когда им отправлена ссылка не по электронной почте, а в мессенджере. Данный пункт можно не использовать, если вы рассылаете опросник при помощи рассылки на электронную почту.
  3. Сделать выпадающий список, в котором будет выбираться школа. Аналогичным образом можно сделать выбор класса, отдела, подразделения. Такой вариант необходим, чтобы тестируемый верно определил, кому он сдает тестирование. При ручном вводе данных в поле разные регистры или написания ответов будут по-разному структурироваться фильтрами в итоговой таблице.
  4. Необходимо создать простой вопрос с одним вариантом правильного ответа.
  5. Необходимо создать простой вопрос с несколькими вариантами правильных ответов.
  6. Необходимо настроить балльную оценку тестируемого.
  7. Тестируемый может несколько раз проходить тестирование. Эту функцию можно не использовать, если тестируемый будет единожды проходить тестирование. В случае, если вам нужно собирать данные регулярно (допустим, ежедневно) вы можете использовать многократный прием ответов. В этом случае ссылка будет неизменна, необходимо будет лишь напоминать тестируемым о необходимости заполнить форму.
  8. Оценить количество прошедших тестирование.
  9. Выгрузить данные в таблицу для дальнейшей обработки и оценки.

Шаг 1 — создание теста (формы)

Переходим в гугл-диск. Для этого нажмите кнопку с точками на панели сверху справа, перейдя по ссылке https://www.google.com/ или https://www.google.ru/ Далее выберите Гугл-диск (далее по тексту Диск).

После загрузки Диска лучше всего создать папку или структуру папок. Допустим “Тестирование” -> “Тесты для соискателей” и уже перейдя в эту папку, создавать тест (форму). Это позволит структурировать данные.

Шаг 2. Создание Теста (формы)

Как и в любом документе в Гугл-диске, начало работы начинается с кнопки “Создать+” в верхней левой части экрана. Этой кнопкой создаются папки на Диске, создаются все документы.

Нажав кнопку Создать, вы увидите меню. В нем нужно выбрать пункт “Еще”.

Создать форму можно несколькими способами:

1. Создание пустой формы:

  • Нажмите на пункт меню Google Формы (отметка 1)
  • Нажмите на кнопку выпадающего списка (отметка 2), в выпавшем списке нажмите “Создать пустую форму” (отметка 3)

2. Создание формы по шаблону — Повторите действия, указанные выше, до отметки 3, и вместо нее выполните отметку 3+. Вам откроется библиотека шаблонов, где вы можете выбрать наиболее подходящий шаблон. В дальнейшем его можно отредактировать под ваши нужды.

Мы создали пустую форму (тестирование).

Шаг 3. Элементы управления

Первое, что нужно сделать — создать имя файла для формы. Это имя внутреннее, под ним форма будет храниться на Диске.

Имя создается, если щелкнуть по словосочетанию “Новая форма” в верхней левой части экрана.

В центре экрана находится поле с названием теста (формы). Его будут видеть тестируемые при выполнении. Изменим его на нужное.

Там же заполним описание к тесту (форме).

Далее автоматически создается первый блок вопроса.

В поле “Вопрос без заголовка” вам нужно вписать свой вопрос. Ниже переименовать Вариант 1 ответа на нужный. Если нужно добавить еще один вопрос — нужно нажать ниже “Добавить вопрос”. Также можно добавить вариант “Другое”, тогда в тесте появится текстовое поле, куда пользователь может внести любой иной ответ в произвольной форме.

Выпадающий список позволяет выбрать вид вопроса. В нашем случае автоматически создан вопрос с одним вариантом ответа. Если выпадающий список раскрыть, то можно выбрать иную форму вопроса.

Внизу блока есть кнопки:

  1. “Копировать” — имеется в виду копировать весь блок.
  2. “Удалить” — удалить весь блок
  3. Обязательный вопрос и сдвижной переключатель. Он делает вопрос обязательным: не ответив на него, пользователь не сможет продолжить или закончить тестирование.
  4. Дополнительные настройки “кнопка три точки” — позволяет добавить описание к ответу, перемешать ответы, выбрать вариант для ответа.

Справа от формы находится вертикальный блок кнопок, который позволяет (сверху вниз по кнопкам):

  1. создать еще один блок вопросов
  2. импортировать вопросы из уже созданной ранее формы (тестов)
  3. добавить отдельный блок с названием и описанием
  4. вставить изображение
  5. вставить видео (Ютуб)
  6. добавить раздел. В этом случае будет создана еще одна страница вопросов. Это удобно при создании нескольких тем в одной форме (тесте).

И заключительный блок элементов управления вверху страницы:

  1. Выбрать цветовую тему опросника. Это очень удобно при создании нескольких регулярных опросников — чтобы исключить путанницу у сотрудников можно при упоминании названия отчета также упоминать его цветовую форму. Это значительно облегчает коммуникацию и эффективность работы.
  2. Просмотр. Позволяет в новой вкладке просмотреть готовый вариант формы на текущий момент без его публикации.
  3. Настройки. Это важный элемент. Ниже он будет описан отдельно.
  4. Кнопка “Отправить”. Этой кнопкой Вы отправляете опросник/форму/тест получателю.
  5. Дополнительные параметры “кнопка три точки”. Там собраны элементы управления всей формой — сделать на основе формы шаблон, скопировать весь опросник, распечатать его и т.п.

Элемент управления “Настройки”

Закладка Общие и Презентация не должны вызвать каких-то вопросов. Важная вкладка “Тесты” — в ней вы можете настроить балльную оценку для каждого вопроса в форме. Для этого активируйте сдвижной переключатель “Тест” и Ваша форма перейдет в разряд теста. После активации этой кнопки вы можете назначать в списке вопросов правильные ответы и количество баллов за правильный ответ.

После активации переключателя, нажмите кнопку “Сохранить” и перейдите к вопросам. Внизу блока вопроса появиться кнопка “Ответы”:

Нажав на нее, вы перейдете в режим установки верных ответов и начисления баллов за правильный ответ.

Итак, давайте начнем выполнение поставленной в начале задачи.

Шаг 4. Создаем тест

  1. Мы вводим имя файла на Диске
  2. Вводим заголовок теста
  3. Вводим описание теста
  4. Вводим вопрос
  5. Раскрыв выпадающий список выбираем пункт “Текст (строка)”

Получаем:

Активируем переключатель “Обязательный вопрос”. Теперь пользователь обязан ввести Фамилию и Имя, чтобы продолжить прохождение теста.

Добавляем второй вопрос нажав на верхнюю кнопку в правой вертикальной панеле элементов управления.

Сделаем этот вопрос необязательным не активируя переключатель внизу справа блока. Даже не ответив на этот вопрос, пользователь продолжит и сможет закончить тестирование.

Создаем еще один блок с единственным вариантом ответа

Добавляем блок с несколькими вариантами ответов

Тут мы также добавили вариант ответа “Другое”.

Теперь настраиваем баллы для правильных ответов. Переходим в пункт настройки в верхней правой части элементов управления (значок шестеренки). Переходим на закладку “Тест” и активируем переключатель. Нажимаем кнопку Сохранить и возвращаемся к списку наших вопросов.

Нажав на любое пустое место блока вопроса, активируем его. Слева внизу активируем блок ответов. Выбираем нужный нам ответ верным и назначаем количество баллов.

Нажимаем кнопку готово. Баллы назначены.

Теперь нам нужно настроить регулярность вопросов и сбор адресов электронной почты.

Опять переходим в пункт “Настройки” в верхней части элементов управления. Активируем нужные нам элементы настроек.

Переходим сразу в закладку “Презентации” и проверяем, что активирован пункт “Показывать ссылку для повторного заполнения формы”. Нажимаем кнопку “Сохранить”

Тест (форма) готов.

Шаг 4. Отправка теста (формы)

Отправка теста (формы) осуществляется путем нажатии кнопки “Отправить”. В открывшемся окне можно выбрать разные варианты отправки.

Отправка по электронной почте:

В поле “Кому” введите адреса получателей. В этом случае в закладке ответы, Вы будете видеть кто проголосовал, а кто еще не ответил на вопросы формы.

Так же форму можно сразу включить в тело письма.

Следующая закладка — отправить ссылку. В этом случае вы можете отправлять ее не только почтой, но и любым иным способом, в том числе через Мессенджер. Однако в этом случае вы будете вынуждены отслеживать ответивших самостоятельно.

Третий вариант — вставка на сайт. Это для более продвинутых пользователей. Позволяет встроить код с формой сразу в шаблон сайта.

Вы закончили создание формы.

Ссылка на тестовую форму, созданную при написании инструкции.

Источник

Обработка оценок за тесты в Google Forms

В условиях дистанционного обучения преподаватели столкнулись с проблемой дистанционного контроля обученности учащихся. «Дистант» закончился, но сделанные наработки продолжают приносить пользу и дальше.

Одним из простейших способов организовать тестирование через Интернет является использование сервиса Google Forms. Чтобы превратить простой список вопросов в тест с проверкой ответов и баллами, необходимо войти в настройки Формы и включить режим «Quiz».

Ответы можно просматривать в интерфейсе самой Формы во вкладке «Responses». Кроме того, ответы можно выгрузить в таблицу Google Sheet. Таблица выглядит следующим образом:

Интерес представляет столбец Score. В нем в виде дроби представлена информация о набранных баллах и максимальном количестве баллов за тест. Сложность состоит в том, что физически в ячейке записано только число набранных баллов, а строка «/ 2» является частью Custom Number Format. Чрезвычайно удобная функция IMPORTRANGE(), позволяющая вставить заданный диапазон на другой лист или даже в другую таблицу, успешно копирует этот формат для каждой ячейки. А вот функция QUERY() — нет. Информация о максимальном количестве баллов за тест в некоторых случаях теряется.

Итак, пусть у нас есть три Формы: Test 1, Test 2 и Test 3. Первым вопросом в тестах идет «Full Name». По этому полю мы будем идентифицировать учащихся. Для трех тестов есть три таблицы с ответами: Test 1 (Responses), Test 2 (Responses), Test 3 (Responses). Первые три столбца в каждой таблице одинаковые: Timestamp, Score, Full Name. Далее идут ответы на вопросы теста, которые нам не понадобятся.

Создадим новый документ Googe Sheet. Назовем его, например, Grade Book. Нам понадобится по одному листу на каждый тест (T1, T2, T3), лист Source, чтобы собрать всё вместе, и лист Grade Book для сводной таблицы.

Листы в документе «Grade Book»

Листы T1, T2, T3.

Импортируем на листы T1, T2, T3 первые три столбца из таблиц ответов. Для этого в ячейку A1 на каждом листе вставим формулу:

Где «https://. » — это URL таблицы «Test X (Responses)», который можно скопировать из адресной строки браузера, «Form Responses 1» — название Листа с результатами теста, «A2:C» — диапазон ячеек, который мы хотим скопировать (заголовок игнорируем).

Теперь нужно разделить значения из колонки «Score» на два значения: количество набранных баллов и максимальное количество баллов в тесте. Для этого в ячейку D1 поместим формулу:

Теперь в колонке D хранится количество баллов за тест, а в колонке E — максимальное количество баллов за тест.

Лист «T1»

Лист Source

Лист Source будет чем-то вроде таблицы базы данных, в которую мы соберем ответы на все тесты добавив ещё один столбец — идентификатор теста. Затем уже можно будет пересчитать баллы в оценки и немого причесать поле Full Name.

В ячейку A1 на Листе «Source» вставим формулу:

Где T1, T2, T3 — названия Листов, куда мы импортировали данные из таблиц ответов, SELECT ‘T1’. — это необходимо, чтобы добавить в каждую строку идентификатор теста.

В ячейку G1 на листе «Source» добавим формулу для пересчета баллов в оценки по пятибалльной шкале:

А в ячейку H1 добавим формулу, чтобы вырезать из Full Name только первое слово. По опыту студенты пишут свою фамилию каждый раз одинаково, а дальше пишут то имя, то имя и отчество, то инициалы. Чтобы связать несколько ответов одного студента вместе в моём случае оказалось достаточно вырезать фамилию.

Лист «Source» будет выглядеть следующим образом:

Лист Grade Book

В ячейку A1 на листе «Grade Book» вставим следующую формулу:

Где Source — лист, с которого брать данные, MAX(G) — максимальная оценка из всех попыток каждого студента сдать тест, PIVOT(A) задает столбец для колонок сводной таблицы, в нашем случае — идентификатор теста.

Вот и готова таблица с оценками:

Лист «Grade Book»

Данные будут обновляться автоматически после каждого нового ответа.

PS: В русской версии Google Docs необходимо использовать точку с запятой в качестве разделителя аргументов в функциях, так как запятая является десятичным разделителем.

Источник

Быстрая регистрация

После регистрации вы можете задавать вопросы и отвечать на них, зарабатывая деньги. Ознакомьтесь с правилами, будем рады видеть вас в числе наших экспертов!

Создать аккаунт

  • Работа на Vamber
  • Интересные факты
  • 10% от рефералов
  • ТОП авторов
  • Работа без опыта

Пиши ответы и зарабатывай! Вамбер платит до 2.5 руб. за каждый ответ. Всё что нужно — это пройти регистрацию и писать хорошие ответы. Платим каждую неделю на сотовый телефон или yoomoney (Яндекс Деньги). Правила здесь.




Вопрос из теста по истории. Он предполагает выбор правильного ответа из ряда предложенных. Среди вариантов ответов следует выбирать Меньшиковский Дворец, каменное сооружение в стиле Петровского барокко.


Павел Иванович Чичиков, легендарный герой знаменитого гоголевского произведения, посетил пять помещиков, чьи имения находились недалеко от губернского города. Первым в этом списке стал мечтатель и романтик Манилов.
К помещице Коробочке Чичиков попал не по своей воле. Пьяный кучер Селифан, по пути … Читать далее


Данное имение называлось Спасское-Лутовиново и располагалось в Орловской губернии. Но, здесь следует внести одно уточнение, называть его родовым имением Тургеневых не совсем правильно, так как принадлежало оно Лутовиновым, предкам писателя по материнской линии. Отец Тургенева, Сергей Николаевич … Читать далее


Во-первых, богохульство, он не признавал государственную религию из-за чего у него было много проблем.
Во-вторых, он развращал молодёжь, а точнее юношей, уча их неверию государственной религии. 
В-третьих, он критиковал государственных деятелей.


Общество представляет собой систему связей и взаимодействия между индивидуумами. Правила и законы определяются в зависимости от традиций и культуры. Любая система общественных связей допускает те или иные действия либо, напротив, ставит запреты и ограничения. Саморегуляция свойственна любому … Читать далее


В молодости доктор Старцев был влюблен в Екатерину Туркину, но отношения у них не сложились. Прошли годы и Старцев превратился в солидного врача, имел большую практику, хорошо зарабатывал. Екатерина, откровенно смеявшаяся над Старцевым, теперь сама была не против возобновить былые чувства, но Ионыч … Читать далее

Содержание

  1. [Инструкция] Создание гугл-тестов (гугл-форм)
  2. Входящая задача
  3. Шаг 1 — создание теста (формы)
  4. Шаг 2. Создание Теста (формы)
  5. Шаг 3. Элементы управления
  6. Элемент управления “Настройки”
  7. Шаг 4. Создаем тест
  8. Шаг 4. Отправка теста (формы)
  9. Обработка оценок за тесты в Google Forms
  10. Листы T1, T2, T3.
  11. Лист Source
  12. Лист Grade Book

[Инструкция] Создание гугл-тестов (гугл-форм)

Спасибо пользователям Exosphere и Yuriy_krd за помощь и конструктивную критику

Иногда кажется, что создать что-то по конструктору весьма быстро и просто: хоть сайт, хоть опрос, хоть таблицы. Однако часто упускаешь из внимания какие-то обидные мелочи, из-за которых время уходит впустую и приходится переделывать работу из-за обидного пустяка. Согласитесь, неприятно. Я решил пройти все процессы за вас и предупредить о возможных неприятных мелочах, а также помочь новичкам.

В этой статье мы с вами сделаем гугл-форму, с помощью которой можно собирать данные, опрашивать сотрудников, клиентов, проводить тестирования гипотез и проч. Кстати, крайне актуальная информация в условиях удалённой работы.

Для создания тестов у вас должен быть активный гугл-аккаунт. Если у вас его нет — обратитесь к инструкции “Создание гугл-аккаунта и работа с Гугл-диском”.

Итак, создаем Форму (тестирование).

Входящая задача

Нам нужно создать тестирование, которое будет собирать набор информации.

  1. Фамилию и имя тестируемого.
  2. Адрес электронной почты — это необходимо при опросе известных адресатов, когда им отправлена ссылка не по электронной почте, а в мессенджере. Данный пункт можно не использовать, если вы рассылаете опросник при помощи рассылки на электронную почту.
  3. Сделать выпадающий список, в котором будет выбираться школа. Аналогичным образом можно сделать выбор класса, отдела, подразделения. Такой вариант необходим, чтобы тестируемый верно определил, кому он сдает тестирование. При ручном вводе данных в поле разные регистры или написания ответов будут по-разному структурироваться фильтрами в итоговой таблице.
  4. Необходимо создать простой вопрос с одним вариантом правильного ответа.
  5. Необходимо создать простой вопрос с несколькими вариантами правильных ответов.
  6. Необходимо настроить балльную оценку тестируемого.
  7. Тестируемый может несколько раз проходить тестирование. Эту функцию можно не использовать, если тестируемый будет единожды проходить тестирование. В случае, если вам нужно собирать данные регулярно (допустим, ежедневно) вы можете использовать многократный прием ответов. В этом случае ссылка будет неизменна, необходимо будет лишь напоминать тестируемым о необходимости заполнить форму.
  8. Оценить количество прошедших тестирование.
  9. Выгрузить данные в таблицу для дальнейшей обработки и оценки.

Шаг 1 — создание теста (формы)

Переходим в гугл-диск. Для этого нажмите кнопку с точками на панели сверху справа, перейдя по ссылке https://www.google.com/ или https://www.google.ru/ Далее выберите Гугл-диск (далее по тексту Диск).

После загрузки Диска лучше всего создать папку или структуру папок. Допустим “Тестирование” -> “Тесты для соискателей” и уже перейдя в эту папку, создавать тест (форму). Это позволит структурировать данные.

Шаг 2. Создание Теста (формы)

Как и в любом документе в Гугл-диске, начало работы начинается с кнопки “Создать+” в верхней левой части экрана. Этой кнопкой создаются папки на Диске, создаются все документы.

Нажав кнопку Создать, вы увидите меню. В нем нужно выбрать пункт “Еще”.

Создать форму можно несколькими способами:

1. Создание пустой формы:

  • Нажмите на пункт меню Google Формы (отметка 1)
  • Нажмите на кнопку выпадающего списка (отметка 2), в выпавшем списке нажмите “Создать пустую форму” (отметка 3)

2. Создание формы по шаблону — Повторите действия, указанные выше, до отметки 3, и вместо нее выполните отметку 3+. Вам откроется библиотека шаблонов, где вы можете выбрать наиболее подходящий шаблон. В дальнейшем его можно отредактировать под ваши нужды.

Мы создали пустую форму (тестирование).

Шаг 3. Элементы управления

Первое, что нужно сделать — создать имя файла для формы. Это имя внутреннее, под ним форма будет храниться на Диске.

Имя создается, если щелкнуть по словосочетанию “Новая форма” в верхней левой части экрана.

В центре экрана находится поле с названием теста (формы). Его будут видеть тестируемые при выполнении. Изменим его на нужное.

Там же заполним описание к тесту (форме).

Далее автоматически создается первый блок вопроса.

В поле “Вопрос без заголовка” вам нужно вписать свой вопрос. Ниже переименовать Вариант 1 ответа на нужный. Если нужно добавить еще один вопрос — нужно нажать ниже “Добавить вопрос”. Также можно добавить вариант “Другое”, тогда в тесте появится текстовое поле, куда пользователь может внести любой иной ответ в произвольной форме.

Выпадающий список позволяет выбрать вид вопроса. В нашем случае автоматически создан вопрос с одним вариантом ответа. Если выпадающий список раскрыть, то можно выбрать иную форму вопроса.

Внизу блока есть кнопки:

  1. “Копировать” — имеется в виду копировать весь блок.
  2. “Удалить” — удалить весь блок
  3. Обязательный вопрос и сдвижной переключатель. Он делает вопрос обязательным: не ответив на него, пользователь не сможет продолжить или закончить тестирование.
  4. Дополнительные настройки “кнопка три точки” — позволяет добавить описание к ответу, перемешать ответы, выбрать вариант для ответа.

Справа от формы находится вертикальный блок кнопок, который позволяет (сверху вниз по кнопкам):

  1. создать еще один блок вопросов
  2. импортировать вопросы из уже созданной ранее формы (тестов)
  3. добавить отдельный блок с названием и описанием
  4. вставить изображение
  5. вставить видео (Ютуб)
  6. добавить раздел. В этом случае будет создана еще одна страница вопросов. Это удобно при создании нескольких тем в одной форме (тесте).

И заключительный блок элементов управления вверху страницы:

  1. Выбрать цветовую тему опросника. Это очень удобно при создании нескольких регулярных опросников — чтобы исключить путанницу у сотрудников можно при упоминании названия отчета также упоминать его цветовую форму. Это значительно облегчает коммуникацию и эффективность работы.
  2. Просмотр. Позволяет в новой вкладке просмотреть готовый вариант формы на текущий момент без его публикации.
  3. Настройки. Это важный элемент. Ниже он будет описан отдельно.
  4. Кнопка “Отправить”. Этой кнопкой Вы отправляете опросник/форму/тест получателю.
  5. Дополнительные параметры “кнопка три точки”. Там собраны элементы управления всей формой — сделать на основе формы шаблон, скопировать весь опросник, распечатать его и т.п.

Элемент управления “Настройки”

Закладка Общие и Презентация не должны вызвать каких-то вопросов. Важная вкладка “Тесты” — в ней вы можете настроить балльную оценку для каждого вопроса в форме. Для этого активируйте сдвижной переключатель “Тест” и Ваша форма перейдет в разряд теста. После активации этой кнопки вы можете назначать в списке вопросов правильные ответы и количество баллов за правильный ответ.

После активации переключателя, нажмите кнопку “Сохранить” и перейдите к вопросам. Внизу блока вопроса появиться кнопка “Ответы”:

Нажав на нее, вы перейдете в режим установки верных ответов и начисления баллов за правильный ответ.

Итак, давайте начнем выполнение поставленной в начале задачи.

Шаг 4. Создаем тест

  1. Мы вводим имя файла на Диске
  2. Вводим заголовок теста
  3. Вводим описание теста
  4. Вводим вопрос
  5. Раскрыв выпадающий список выбираем пункт “Текст (строка)”

Получаем:

Активируем переключатель “Обязательный вопрос”. Теперь пользователь обязан ввести Фамилию и Имя, чтобы продолжить прохождение теста.

Добавляем второй вопрос нажав на верхнюю кнопку в правой вертикальной панеле элементов управления.

Сделаем этот вопрос необязательным не активируя переключатель внизу справа блока. Даже не ответив на этот вопрос, пользователь продолжит и сможет закончить тестирование.

Создаем еще один блок с единственным вариантом ответа

Добавляем блок с несколькими вариантами ответов

Тут мы также добавили вариант ответа “Другое”.

Теперь настраиваем баллы для правильных ответов. Переходим в пункт настройки в верхней правой части элементов управления (значок шестеренки). Переходим на закладку “Тест” и активируем переключатель. Нажимаем кнопку Сохранить и возвращаемся к списку наших вопросов.

Нажав на любое пустое место блока вопроса, активируем его. Слева внизу активируем блок ответов. Выбираем нужный нам ответ верным и назначаем количество баллов.

Нажимаем кнопку готово. Баллы назначены.

Теперь нам нужно настроить регулярность вопросов и сбор адресов электронной почты.

Опять переходим в пункт “Настройки” в верхней части элементов управления. Активируем нужные нам элементы настроек.

Переходим сразу в закладку “Презентации” и проверяем, что активирован пункт “Показывать ссылку для повторного заполнения формы”. Нажимаем кнопку “Сохранить”

Тест (форма) готов.

Шаг 4. Отправка теста (формы)

Отправка теста (формы) осуществляется путем нажатии кнопки “Отправить”. В открывшемся окне можно выбрать разные варианты отправки.

Отправка по электронной почте:

В поле “Кому” введите адреса получателей. В этом случае в закладке ответы, Вы будете видеть кто проголосовал, а кто еще не ответил на вопросы формы.

Так же форму можно сразу включить в тело письма.

Следующая закладка — отправить ссылку. В этом случае вы можете отправлять ее не только почтой, но и любым иным способом, в том числе через Мессенджер. Однако в этом случае вы будете вынуждены отслеживать ответивших самостоятельно.

Третий вариант — вставка на сайт. Это для более продвинутых пользователей. Позволяет встроить код с формой сразу в шаблон сайта.

Вы закончили создание формы.

Ссылка на тестовую форму, созданную при написании инструкции.

Источник

Обработка оценок за тесты в Google Forms

В условиях дистанционного обучения преподаватели столкнулись с проблемой дистанционного контроля обученности учащихся. «Дистант» закончился, но сделанные наработки продолжают приносить пользу и дальше.

Одним из простейших способов организовать тестирование через Интернет является использование сервиса Google Forms. Чтобы превратить простой список вопросов в тест с проверкой ответов и баллами, необходимо войти в настройки Формы и включить режим «Quiz».

Ответы можно просматривать в интерфейсе самой Формы во вкладке «Responses». Кроме того, ответы можно выгрузить в таблицу Google Sheet. Таблица выглядит следующим образом:

Интерес представляет столбец Score. В нем в виде дроби представлена информация о набранных баллах и максимальном количестве баллов за тест. Сложность состоит в том, что физически в ячейке записано только число набранных баллов, а строка «/ 2» является частью Custom Number Format. Чрезвычайно удобная функция IMPORTRANGE(), позволяющая вставить заданный диапазон на другой лист или даже в другую таблицу, успешно копирует этот формат для каждой ячейки. А вот функция QUERY() — нет. Информация о максимальном количестве баллов за тест в некоторых случаях теряется.

Итак, пусть у нас есть три Формы: Test 1, Test 2 и Test 3. Первым вопросом в тестах идет «Full Name». По этому полю мы будем идентифицировать учащихся. Для трех тестов есть три таблицы с ответами: Test 1 (Responses), Test 2 (Responses), Test 3 (Responses). Первые три столбца в каждой таблице одинаковые: Timestamp, Score, Full Name. Далее идут ответы на вопросы теста, которые нам не понадобятся.

Создадим новый документ Googe Sheet. Назовем его, например, Grade Book. Нам понадобится по одному листу на каждый тест (T1, T2, T3), лист Source, чтобы собрать всё вместе, и лист Grade Book для сводной таблицы.

Листы в документе «Grade Book»

Листы T1, T2, T3.

Импортируем на листы T1, T2, T3 первые три столбца из таблиц ответов. Для этого в ячейку A1 на каждом листе вставим формулу:

Где «https://. » — это URL таблицы «Test X (Responses)», который можно скопировать из адресной строки браузера, «Form Responses 1» — название Листа с результатами теста, «A2:C» — диапазон ячеек, который мы хотим скопировать (заголовок игнорируем).

Теперь нужно разделить значения из колонки «Score» на два значения: количество набранных баллов и максимальное количество баллов в тесте. Для этого в ячейку D1 поместим формулу:

Теперь в колонке D хранится количество баллов за тест, а в колонке E — максимальное количество баллов за тест.

Лист «T1»

Лист Source

Лист Source будет чем-то вроде таблицы базы данных, в которую мы соберем ответы на все тесты добавив ещё один столбец — идентификатор теста. Затем уже можно будет пересчитать баллы в оценки и немого причесать поле Full Name.

В ячейку A1 на Листе «Source» вставим формулу:

Где T1, T2, T3 — названия Листов, куда мы импортировали данные из таблиц ответов, SELECT ‘T1’. — это необходимо, чтобы добавить в каждую строку идентификатор теста.

В ячейку G1 на листе «Source» добавим формулу для пересчета баллов в оценки по пятибалльной шкале:

А в ячейку H1 добавим формулу, чтобы вырезать из Full Name только первое слово. По опыту студенты пишут свою фамилию каждый раз одинаково, а дальше пишут то имя, то имя и отчество, то инициалы. Чтобы связать несколько ответов одного студента вместе в моём случае оказалось достаточно вырезать фамилию.

Лист «Source» будет выглядеть следующим образом:

Лист Grade Book

В ячейку A1 на листе «Grade Book» вставим следующую формулу:

Где Source — лист, с которого брать данные, MAX(G) — максимальная оценка из всех попыток каждого студента сдать тест, PIVOT(A) задает столбец для колонок сводной таблицы, в нашем случае — идентификатор теста.

Вот и готова таблица с оценками:

Лист «Grade Book»

Данные будут обновляться автоматически после каждого нового ответа.

PS: В русской версии Google Docs необходимо использовать точку с запятой в качестве разделителя аргументов в функциях, так как запятая является десятичным разделителем.

Источник

С помощью проверки данных можно установить, правильно ли введены числа, даты и текст. Можно запретить пользователям вводить текст, не соответствующий вашим условиям или настроить отображение комментариев в ячейке, данные которых не соответствуют требованиям проверки. Добавлять подсказки к проверяемым ячейкам, чтобы помочь редакторам вводить верные данные. 

Важное примечание! При проверке данных логические операторы не поддерживаются. Чтобы начать проверку, необходимо в меню «данные» выбрать пункт – «проверка данных», либо выделить ячейку и правой кнопкой мыши выбрать пункт – «проверка данных». Диапазон ячеек в этом поле отображается — название листа и выбранный диапазон, где установлен курсор. Выберем столбец «А», «Окей». 

Следующий пункт – правила. По умолчанию выбрано значение из диапазона, поменяем его на «дата», оставляем 1 пункт для неверных данных. Видим: два бокса показывают предупреждение по умолчанию. Это значит, что если вы ведете не соответствующие значения из исходных данных, то всплывёт сообщение об ошибке, а если выбрать – «запрещать ввод данных», то при несоответствующим исходным данным значениям, откроется предупреждающее окно с текстом – «данные которые вы ввели в ячейку, не соответствует правилам проверки». 

Попробуем. Сохранить. Предупреждения. В пустой ячейке укажите допустимую дату. Данные — проверка — галочка — запрещать ввод данных. Пробуем писать что-нибудь с данными, которые вы ввели, не соответствующими правилам проверки. 

Следующий пункт – оформление. В данном пункте мы видим: checkbox показывает справку по проверке данных. Поставим галочку, ниже добавилась поле, где предлагается вариант сообщения, которое можно исправить на своё. Нажимаем сохранить. 

Ячейка 1А помечена красным треугольником в правом верхнем углу. Наводим на ячейку. Ошибка — Укажите допустимую дату. Это значит: проверка сработала. Кликнем по пустой ячейке, открылась подсказка, введите действительную дату.

Помимо соответствия данных формату даты, можно задать десятки разных правил для числовых, тестовых и других данных. 

В этом уроке Вы узнали, об инструменте проверка данных Гугл таблицы.


ПОХОЖИЕ ВИДЕО

Как предоставить доступ к файлам и папкам на Google Диске и изменить настройки

Как в Google Таблице сделать выпадающий список?


В этом уроке я объясню вам, как использовать проверку данных в электронной таблице Google. Очень важно использовать проверку данных, для того чтобы запретить людям вводить неверные данные.

Например, вы можете указать дату 18.03.2022 или 18/03/2022. В электронной таблице к первому варианту по умолчанию будет применён текстовый формат, а ко второму — формат даты.

Поэтому, когда вы вводите дату в текстовом формате, это влияет на ваш расчет или сортировку данных. И, если вы используете свою электронную таблицу совместно с другими пользователями, позвольте им вводить в поле даты только дату, а не текст. Этого мы можем добиться, используя проверку данных.

Выше приведен только один пример использования проверки данных. Надеюсь, вы поняли концепцию проверки данных в Google таблицах.

Вы можете ограничить ввод данных в ячейки несколькими способами, используя приведенные ниже советы.

В ячейке или диапазоне ячеек:

  1. Ограничить пользователей вводом только даты
  2. Ввести ограничение ввода чисел только теми, которые также соответствуют определенным условиям, таким как число между, меньше, больше, равно и т. д.
  3. Ограничить ввод только текстом.
  4. Запретить ввод неверных данных, предоставив возможность выбора из списка. Пример такого варианта будет предоставлен в последнем абзаце.

Сначала я объясню вам, как можно использовать проверку данных в электронной таблице Google.

Как запретить людям вводить неверные данные в таблицу?

Начнем с ввода поля даты. Это сделает дальнейшие объяснения более ясными для вас.

Google таблицы: запрещаем людям вводить неверные даты

Этапы проверки данных:

  1. Выберите ячейки, которые вы хотите ограничить вводом недопустимой даты.
  2. Перейдите в меню Данные > Настроить проверку данных.

В поле критериев выберите «Дата», а справа от него выберите критерий «Является допустимой датой». Это позволит ввести любую дату в выбранные ячейки.

При критерии «равно» будет разрешен ввод только указанной даты.

  1. Затем напротив поля «Для неверных данных» выберите либо «Показывать предупреждение», либо «запрещать ввод данных». Затем нажмите «Сохранить»

Теперь попробуйте ввести любой текст в одну из ячеек, где вы только что установили правило проверки данных. Сразу же выскочит всплывающее предупреждающее сообщение либо же введённый текст будет немедленно удалён, в зависимости от указанных выше настроек в пункте 3.

Точно так же вы можете попробовать другие параметры проверки данных, такие как текст и числа.

Но иногда вы можете разрешить пользователям выбирать нужное значение из раскрывающегося списка вместо ввода данных.

Создать раскрывающийся список в Google Spreadsheets

Сначала введите список в любой столбец, так, данные не оказались в той ячейке, в которой необходимо получить раскрывающееся меню. Например, если вам нужен раскрывающийся список в ячейке A1, введите элементы, которые должны отображаться в выпадающем меню в столбце B.

Затем выберите ячейки (например, ячейку A1 или диапазон, например A1: A10), где вы хотите получить раскрывающийся список в электронной таблице. Теперь перейдите в меню Данные > Настроить проверку данных.

Установите правила как «Значение из диапазона» и в соседнем поле выберите список, введенный в столбце B.

Убедитесь что установлена галочка «Показать раскрывающийся список в ячейке» и сохраните результат.

Поздравляем! Вы получили раскрывающийся список в электронной таблице.

Эти действия помогут вам сильно уменьшить количество ошибок в заполнении вашей электронной таблицы. Это важно, потому что небольшая опечатка может привести к неправильному результату при сортировке и группировке, например при использовании различных методов обработки данных.

Например, если вы ввели «ISMC100» вместо «ISMC 100», в таких функциях, как «СУММЕСЛИ», будет получен другой результат.

Background

The problem I’m solving is mentioned here in detail. Another glitch is that the spreadsheet I’m reading from has random changes to the date format like so:

10/3/2021   11/3/2021   12/3/2021   13-03-2021  14-03-2021

When I import these dates into another sheet, how can I do it so that the dates are normalized (ie are imported in the same format)?

enter image description here

B/c what’s happening is that when I’m extracting these dates and I run a chart on them, the chart only reads the first format and ignores the rest:

enter image description here

Spreadsheet details

I get the spreadsheet by email as an .xlxs file. I open it and save it as a google spreadsheet, which has locale as the United States.

I made a copy of the spreadsheet here.

What I tried

I simply tried applying a date format of DD/MM/YYYY on the cells with the different date format but that’s not working. What’s weird is that in the sheet I’m importing from, it’s giving me a different date format than what appears:

enter image description here

Right now all I’m doing is manually changing dates from the DD-MM-YYYY format to DD/MM/YYYY Format.

I also tried converting the dates using this formula

=to_date(int(A1))

but it worked with some cells not others

enter image description here

Background

The problem I’m solving is mentioned here in detail. Another glitch is that the spreadsheet I’m reading from has random changes to the date format like so:

10/3/2021   11/3/2021   12/3/2021   13-03-2021  14-03-2021

When I import these dates into another sheet, how can I do it so that the dates are normalized (ie are imported in the same format)?

enter image description here

B/c what’s happening is that when I’m extracting these dates and I run a chart on them, the chart only reads the first format and ignores the rest:

enter image description here

Spreadsheet details

I get the spreadsheet by email as an .xlxs file. I open it and save it as a google spreadsheet, which has locale as the United States.

I made a copy of the spreadsheet here.

What I tried

I simply tried applying a date format of DD/MM/YYYY on the cells with the different date format but that’s not working. What’s weird is that in the sheet I’m importing from, it’s giving me a different date format than what appears:

enter image description here

Right now all I’m doing is manually changing dates from the DD-MM-YYYY format to DD/MM/YYYY Format.

I also tried converting the dates using this formula

=to_date(int(A1))

but it worked with some cells not others

enter image description here

Сообщение об ошибке синтаксического анализа формулы появляется, когда введенная формула ожидает определенный тип данных, но получила неправильный тип . Другими словами, Google Таблицы не могут интерпретировать вашу формулу. Они возвращают сообщение об ошибке, поскольку не могут выполнить запрос формулы.

Это может раздражать, особенно если формула длинная и проблема синтаксического анализа не очевидна. 

Не волнуйтесь! Мы научим вас определять возможные причины проблемы парсинга и как их исправить!

Вот пять наиболее распространенных ошибок синтаксического анализа формул в Google Таблицах, с которыми вы можете столкнуться:

  1. #N/A
  2. #DIV/0!
  3. #VALUE!
  4. #REF!
  5. #NAME?

Выглядит знакомо? Посмотрим, как исправить эти ошибки! ?

Устранение ошибки # N/A в Google Таблицах

Когда появляется ошибка #N/A, это означает, что значение недоступно. Эта ошибка часто встречается при использовании функции VLOOKUP (ВПР), поскольку ключ поиска не может быть найден.

Однако в этом сценарии это не означает, что введенная нами формула неверна. Когда формула возвращает ошибку #N/A, это означает только то, что указанный ключ поиска не находится в выбранном диапазоне.  

Давайте воспользуемся примером, чтобы улучшить визуализацию.


Как видно из этого примера, возвращаемое значение ключа поиска B вернулось как ошибка # N/A. Это связано с тем, что введенный ключ поиска «B2-05» не может быть найден в выбранном диапазоне «A5: B9»

Следовательно, это приведет к тому, что формула вернет ошибку # N / A, означающую, что введенный нами ключ поиска не может быть найден. 

 # DIV/0!  — Ошибка в Google Таблицах

# DIV / 0! ошибка появляется, когда формула делит число с нулевым значением. Это может произойти, когда знаменатель равен нулю. С математической точки зрения это не имеет смысла, поэтому формула возвращает # DIV / 0! ошибка.


Эта ошибка также может появиться, когда знаменатель пуст.
Как видите, поскольку B1 не имеет значения, формула не может разделить 40 на ноль.

Вы также часто можете увидеть это при использовании функции AVERAGE (СРЕДНИЙ). Ошибка появится, если диапазон, выбранный для формулы, пуст.


Просто убедитесь, что используемые или выбранные знаменатели имеют значение, и эта ошибка синтаксического анализа больше не появится!

#VALUE! — Ошибка в Google Таблицах

Если один или несколько параметров в вашей формуле имеют другой тип, чем ожидалось, вы получите эту ошибку. Итак, если функция принимает в качестве аргумента только числа, но выбранная ячейка имеет текстовое значение, вы получите #VALUE! ошибка.

Пробелы в ячейках также могут вызывать эту ошибку.


Несмотря на то, что A2 выглядит как пустое поле, мы ввели пробел внутри ячейки. Это привело к тому, что формула вернула #VALUE! ошибка.

Вот еще один пример:


Здесь мы видим, что введенная формула умножает числовое значение на текстовое значение, равное « пяти ». Эта формула не имеет математического смысла, так как параметры в формуле бывают разных типов.  

Чтобы исправить эту ошибку, убедитесь, что выбранные ячейки содержат параметр одного и того же типа. При выполнении математической операции всегда не забывайте использовать только числовые значения.

Другой сценарий, в котором может возникнуть эта ошибка, — это смешивание формата дат в формуле. 

Формат даты в США: ММ / ДД / ГГГ

Остальной мир: ДД / ММ / ГГГГ

Как видите, при вычитании двух дат в Google Таблицах можно было читать только 25/12/2021 как дату, поскольку это числовое значение. В Google Таблицах 25/11/2021 читается как текст, поэтому формула возвращает #VALUE! ошибка.

Чтобы исправить это, просто убедитесь, что даты, введенные в ячейки, имеют одинаковый формат.

#REF! — Ошибка в Google Таблицах

Если у вас недействительная ссылка, #REF! возникает ошибка. Наиболее распространены ситуации, когда выбранная ячейка отсутствует или формула ссылается на себя.

Отсутствует ссылка:

 Это часто происходит, когда исходная выбранная ячейка была удалена (когда вы удаляете всю строку или столбец). 

После удаления столбца A формула выходит из строя, поскольку они не могут найти исходный выбранный A1 .

Другой сценарий — когда мы копируем формулу с выбранным диапазоном в угол ваших таблиц Google. 

Возможно, что при копировании и вставке относительный диапазон смещается за пределы листа, что недопустимо и приведет к #REF! ошибка.


Когда мы копируем формулу SUM (A1: B1) to B2 , это приведет к #REF! ошибка. Это связано с тем, что в исходной формуле выбраны два столбца, но когда формула копируется и вставляется в B2, отсутствует еще один столбец. 

Круговая зависимость:

Когда введенная формула ссылается на себя, это называется циклической зависимостью. Это происходит, когда мы выбрали диапазон, который также состоит из самой формулы. 


Как видите, формула содержит набор ячеек, в который входит сама формула. 

Просто убедитесь, что при выборе ячеек для ввода всегда исключайте формулу, чтобы избежать появления таких ошибок.

#NAME? — Ошибка в Google Таблицах

#NAME? ошибка появляется, когда синтаксис введенной формулы имеет проблемы. Чаще всего это когда само имя функции написано с ошибкой.


Ошибка также может появиться, когда именованный диапазон не существует.
Другой сценарий — когда во введенном текстовом значении отсутствуют кавычки. Это также приведет к появлению #NAME? ошибка появится. 

Если все сделано правильно, ошибка не появится.


Когда появляется ошибка #NAME?, убедитесь, что имя функции и имена диапазонов действительны, чтобы избежать этой ошибки.

Вот так! Узнав об этих пяти наиболее часто встречающихся ошибках синтаксического анализа формул, не нужно беспокоиться об их появлении. Всегда убедитесь, что понимаете, на что указывает ошибка, и исправляйте проблемы в формуле соответствующим образом.

  • Редакция Кодкампа

17 авг. 2022 г.
читать 2 мин


Проверка данных может использоваться в Google Sheets для контроля того, что пользователь может вводить в определенную ячейку.

В следующем примере показано, как использовать проверку данных на практике.

Пример 1: Проверка данных в Google Sheets

Предположим, мы отправляем опрос пользователям в Google Sheets, в котором мы хотим, чтобы они ввели в ячейке B1 количество дней в неделю, в которые они тренируются.

Чтобы пользователи могли вводить только числа от 0 до 7, мы можем щелкнуть ячейку B1 , затем щелкнуть вкладку « Данные » и нажать « Проверка данных »:

проверка данных в Google Sheets

В появившемся новом окне мы заполним следующую информацию:

  • Диапазон ячеек : data_validation!B1
  • Критерии : число (от 0 до 7)
  • При неверных данных : показать предупреждение
  • Внешний вид : Показать текст справки по проверке (с настраиваемым текстом)

Как только мы нажмем « Сохранить », правило проверки данных будет автоматически применено к ячейке B2 .

Теперь, если мы введем в ячейку B2 число, выходящее за пределы диапазона 0-7, мы получим предупреждающее сообщение:

Это предупреждающее сообщение сообщает пользователю, что ввод должен быть числом от 0 до 7.

Если вместо этого мы введем число от 0 до 7, мы не получим никакого предупреждающего сообщения:

Обратите внимание, что мы не получаем предупреждающее сообщение, потому что ввели допустимый номер.

Примечание.В этом примере мы решили использовать диапазон чисел в качестве критерия проверки данных, но мы также могли указать, что вместо проверки данных следует использовать дату, текст или список элементов.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в Google Таблицах:

Как заменить значения #N/A в Google Sheets
Как игнорировать значения #N/A с формулами в Google Sheets
Как использовать ISERROR в Google Sheets

Написано

Редакция Кодкампа

Замечательно! Вы успешно подписались.

Добро пожаловать обратно! Вы успешно вошли

Вы успешно подписались на кодкамп.

Срок действия вашей ссылки истек.

Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.

Успех! Ваша платежная информация обновлена.

Ваша платежная информация не была обновлена.

Быстрая регистрация

После регистрации вы можете задавать вопросы и отвечать на них, зарабатывая деньги. Ознакомьтесь с правилами, будем рады видеть вас в числе наших экспертов!

Создать аккаунт

  • Работа на Vamber
  • Интересные факты
  • 10% от рефералов
  • ТОП авторов
  • Работа без опыта

Пиши ответы и зарабатывай! Вамбер платит до 2.5 руб. за каждый ответ. Всё что нужно — это пройти регистрацию и писать хорошие ответы. Платим каждую неделю на сотовый телефон или yoomoney (Яндекс Деньги). Правила здесь.

Лучшие предложения

  • Кредитные карты
  • Быстрые займы

Совкомбанк

8 800 200-66-96

sovcombank.ru

Лицензия: №963

39 256 заявок

МТС Банк

Без процентов

до 111 дней

8 800 250-0-520

mtsbank.ru

Лицензия: №2268

17 943 заявок

Альфа-банк

Без процентов

до 365 дней

8 800 2000 000

alfabank.ru

Лицензия: №1326

12 162 заявок

ВебЗайм

8-800-700-8706

web-zaim.ru

ВэбБанкир

8 800 775-54-54

webbankir.com

ТурбоЗайм

8 800 200 00 10

turbozaim.ru


Вопрос из теста по истории. Он предполагает выбор правильного ответа из ряда предложенных. Среди вариантов ответов следует выбирать Меньшиковский Дворец, каменное сооружение в стиле Петровского барокко.


Павел Иванович Чичиков, легендарный герой знаменитого гоголевского произведения, посетил пять помещиков, чьи имения находились недалеко от губернского города. Первым в этом списке стал мечтатель и романтик Манилов.
К помещице Коробочке Чичиков попал не по своей воле. Пьяный кучер Селифан, по пути … Читать далее


Данное имение называлось Спасское-Лутовиново и располагалось в Орловской губернии. Но, здесь следует внести одно уточнение, называть его родовым имением Тургеневых не совсем правильно, так как принадлежало оно Лутовиновым, предкам писателя по материнской линии. Отец Тургенева, Сергей Николаевич … Читать далее


Во-первых, богохульство, он не признавал государственную религию из-за чего у него было много проблем.
Во-вторых, он развращал молодёжь, а точнее юношей, уча их неверию государственной религии. 
В-третьих, он критиковал государственных деятелей.


Общество представляет собой систему связей и взаимодействия между индивидуумами. Правила и законы определяются в зависимости от традиций и культуры. Любая система общественных связей допускает те или иные действия либо, напротив, ставит запреты и ограничения. Саморегуляция свойственна любому … Читать далее


В молодости доктор Старцев был влюблен в Екатерину Туркину, но отношения у них не сложились. Прошли годы и Старцев превратился в солидного врача, имел большую практику, хорошо зарабатывал. Екатерина, откровенно смеявшаяся над Старцевым, теперь сама была не против возобновить былые чувства, но Ионыч … Читать далее

Обучающие онлайн-курсы

  • Разработка
  • Маркетинг
  • Аналитика
  • Дизайн
  • Менеджмент

Я должен проверить поле цены, которое должно быть больше нуля (0,01 действительно), поэтому я имею следующую проверку:

$request->validate([
            'product_price' => 'required|numeric|gt:0',
        ]);

Проблема в том, что когда я ввожу строку в поле «product_price», я получаю сообщение об ошибке:

InvalidArgumentException. Сопоставленные значения должны быть одного типа

это почему? Я имею в виду, я проверяю, что он должен быть числовым, даже если он проверяет, что он> 0

19 сен. 2018, в 06:35

Поделиться

Источник

2 ответа

gt, gte, lt и lte добавлены в Laravel 5.6 и более поздних версиях, я предполагаю, что это должно быть причиной того, что вы получите ошибку. (Это работает для меня, хотя.)

Я думаю, вы можете попробовать это

$request->validate([
    'product_price' => 'required|numeric|min:0|not_in:0',
]);

min:0 убедитесь, что минимальное значение равно 0, и отрицательные значения не допускаются. not_in:0 убедитесь, что значение не может быть 0. Таким образом, комбинация обоих этих правил выполняет задание.

Вы можете определить значимые сообщения об ошибках для определенного правила. (Вы можете добиться того же результата, используя регулярные выражения.)

TharinduLucky
19 сен. 2018, в 03:39

Поделиться

Вы можете попробовать таким образом,

Прежде чем вызывать функцию Validator :: make(), измените набор правил, добавив значение для сравнения так:

use IlluminateSupportFacadesValidator;

Validator::extend('greater_than', function ($attribute, $value, $otherValue) {
      return intval($value) > intval($otherValue[0]);
});

$validation = Validator::make($input, ['amount' => 'required|numeric|greater_than:0']);

Mayank Majithya
19 сен. 2018, в 01:27

Поделиться

Ещё вопросы

  • 0Как преобразовать дату SQL-запроса в угловое целое более эффективно
  • 0Как использовать попсовер AngularStrap в сервисе
  • 0Загрузите и заполните шаблоны с помощью jQuery
  • 1Обмен короткими сообщениями от клиента к клиенту
  • 0Символ PortAudio не найден: _PaMacCore_SetupChannelMap на Mountain Lion
  • 1Как сопоставить шаблон регулярного выражения только в одной строке?
  • 0Как использовать React JSX внутри угловой директивы
  • 0Можно ли восстановить дамп MySQL UTF-8 при установке кодировки latin-1?
  • 1Как передать больше параметров в метод Spring Spring
  • 1Как я могу удалить первые n столбцов / строк с 0 значениями в 2D матрице?
  • 0Как сократить тройной запрос ActiveRecord Joins с помощью отношения has_many?
  • 0HTML действие превращает пробелы в плюсы
  • 0Jquery Flot — как заставить строки данных начинаться с 0,0 и переходить к первой точке данных
  • 1Почему Process.Start отображает окно с сообщением об ошибке, хотя я перенаправляю стандартную ошибку?
  • 1Как обрабатывать исключения ошибок с RxJava 2?
  • 0C ++ не может заполнить данные
  • 1Запустите кодированный тест пользовательского интерфейса с помощью агента тестирования
  • 1Передача никогда не выполняется при остановке приложения
  • 0Как добавить несколько дат в текстовой области, используя JQuery DatePicker
  • 0Перспектива CSS3 не применяется до завершения анимации
  • 1оператор try-catch не возвращается к блоку try при отлове исключения
  • 0Добавление пользовательских атрибутов в шаблон ejs
  • 1Получение автоматически сгенерированного идентификатора при вставке в roomDatabase
  • 0Сделайте среднее значение для интервалов времени mysql
  • 0Извлечение данных Json с использованием Jquery
  • 0От символа * к ручке
  • 1Как Ramda.map поверх Immutable.List возвращает список вместо массива?
  • 0Sqoop Экспорт HDFS в MySQL завершается неудачно
  • 0Множество угловых проектов
  • 1python — замена фрагмента из строки [duplicate]
  • 0AngularJS и Google
  • 1при запросе загрузки файл остается на 0 байтов?
  • 0как передать max_streak_length из командной строки
  • 0как получить доступ к данным формы в сервлете, используя угловой JS
  • 0PHP многомерный массив
  • 0Изображения появляются в Chrome, но не в IE
  • 1Снимок экрана окна приложения WPF отображается на кнопке
  • 1Почему эта нарезка бросает IndexError?
  • 1Разница между getNamedItem () и getAttribute ()?
  • 0Перетащите изображение / текст / имя файла на страницу Firefox
  • 1Асинхронная проблема с несколькими задачами
  • 1Изменить значение вставки jsGrid на основе элемента управления select на странице
  • 1Как добавить различные editText в один TextView
  • 0Отправка значений в базу данных с помощью Python (проект SenseHAT)
  • 1Трудности с использованием Python-запроса (POST) + API
  • 1уменьшить значение translate-x
  • 0Удалить дубликаты записей из таблицы, где идентификатор дублируется
  • 0Ошибка при загрузке изображений
  • 1Реализация: проверка номера телефона не выполняется с помощью google-libphonenumber
  • 1XSS-уязвимости теги <c: out> на страницах JSP

Сообщество Overcoder

В этом руководстве мы разберем причины ошибки #ЧИСЛО в Excel и покажем, как ее исправить.

Вы смотрите на экран своего компьютера, потягиваете кофе и задаетесь вопросом, почему в электронной таблице Excel внезапно появляется странное сообщение об ошибке с символом хэштега? Это расстраивает, сбивает с толку и совершенно раздражает, но не бойтесь! Мы здесь, чтобы разгадать тайну ошибки #ЧИСЛО в Excel и помочь вам ее исправить.

Ниже мы более подробно рассмотрим каждую возможную причину ошибки #NUM и предоставим вам необходимые шаги для ее устранения.

Недопустимые входные аргументы

Причина: для некоторых функций Excel требуются определенные входные аргументы. Если вы укажете недопустимые аргументы или неправильные типы данных, Excel может выдать ошибку #ЧИСЛО.

Решение: Убедитесь, что все входные аргументы допустимы и имеют правильный тип данных. Дважды проверьте свою формулу на наличие синтаксических ошибок.

Например, функция ДАТА в Excel ожидает число от 1 до 9999 в качестве аргумента года. Если предоставленное значение года выходит за пределы этого диапазона, произойдет ошибка #ЧИСЛО.

Точно так же функция РАЗНДАТ требует, чтобы дата окончания всегда была больше даты начала (или обе даты были равны). В противном случае формула выдаст ошибку #ЧИСЛО.

Например, эта формула вернет разницу в 10 дней:

=DATEDIF(«01.01.2023», «11.01.2023», «d»)

И это вызовет ошибку #ЧИСЛО:

=DATEDIF(«11.01.2023», «01.01.2023», «d»)

Слишком большие или слишком маленькие числа

Причина: Microsoft Excel имеет ограничение на размер вычисляемых чисел. Если ваша формула выдает число, превышающее этот предел, возникает ошибка #ЧИСЛО.

Решение. Если ваша формула дает число, выходящее за пределы допустимого диапазона, измените входные значения, чтобы результат попадал в допустимый диапазон. Кроме того, вы можете разбить расчет на более мелкие части и использовать несколько ячеек для получения окончательного результата.

Современные версии Excel имеют следующие пределы вычислений:

Наименьшее отрицательное число -2.2251E-308 Наименьшее положительное число 2.2251E-308 Наибольшее положительное число 9.99999999999999E+307 Наибольшее отрицательное число -9.99999999999999E+307 Наибольшее допустимое положительное число по формуле 1.7976931348623158E+308 Наибольшее допустимое отрицательное число по формуле -1,7976931348623158Е+ 308

Если вы не знакомы с научным обозначением, я кратко объясню, что оно означает, на примере наименьшего разрешенного положительного числа 2,2251E-308. Часть обозначения «E-308» означает «умножить на 10 в степени -308», поэтому число 2,2251 умножается на 10 в степени -308 (2,2251×10^-308). Это очень маленькое число, которое имеет 307 нулей в десятичной части перед первой ненулевой цифрой (которой является 2).

Как видите, допустимые входные значения в Excel находятся в диапазоне от -2,2251E-308 до 9,99999999999999E+307. В формулах допускаются числа от -1,7976931348623158E+308 до 1,7976931348623158E+308. Если результат вашей формулы или какой-либо из ее аргументов выходит за рамки, вы получите ошибку #ЧИСЛО! ошибка.

Обратите внимание, что в текущей версии Excel 365 только большие числа вызывают ошибку #ЧИСЛО. Небольшие числа, выходящие за пределы, отображаются как 0 (общий формат) или 0,00E+00 (научный формат). Похоже на новое недокументированное поведение:

Невозможные операции

Причина: когда Excel не может выполнить расчет, потому что он считается невозможным, он возвращает ошибку #ЧИСЛО! ошибка.

Решение: определите функцию или операцию, вызывающую ошибку, и соответствующим образом скорректируйте входные данные или измените формулу.

Типичным примером невозможного вычисления является попытка найти квадратный корень из отрицательного числа с помощью функции SQRT. Поскольку квадратный корень из отрицательного числа определить невозможно, формула выдаст ошибку #ЧИСЛО. Например:

=SQRT(25) – возвращает 5

=КОРЕНЬ(-25) – возвращает #ЧИСЛО!

Чтобы исправить ошибку, вы можете обернуть отрицательное число в функцию ABS, чтобы получить абсолютное значение числа:

=КОРЕНЬ(АБС(-25))

Или

=КОРЕНЬ(АБС(A2))

Где A2 — ячейка, содержащая отрицательное число.

Другой случай — возведение отрицательного числа в нецелую степень. Если вы попытаетесь возвести отрицательное число в нецелую степень, результатом будет комплексное число. Поскольку Excel не поддерживает комплексные числа, формула выдаст ошибку #ЧИСЛО. В этом случае ошибка указывает на то, что расчет невозможно выполнить в рамках ограничений Excel.

Формула итерации не может сходиться

Причина: Формула итерации, которая не может найти результат, вызывает ошибку #ЧИСЛО в Excel.

Решение. Измените входные значения, чтобы помочь формуле сойтись, или измените параметры итерации Excel, или вообще используйте другую формулу, чтобы избежать ошибки.

Итерация — это функция Excel, позволяющая неоднократно пересчитывать формулы до тех пор, пока не будет выполнено определенное условие. Другими словами, формула пытается достичь результата методом проб и ошибок. В Excel есть ряд таких функций, включая IRR, XIRR и RATE. Когда формула итерации не может найти допустимый результат в заданных ограничениях, она возвращает ошибку #ЧИСЛО.

Чтобы исправить эту ошибку, вам может потребоваться изменить входные значения или уменьшить уровень допуска для сходимости, чтобы формула могла найти допустимый результат.

Например, если ваша формула СТАВКИ приводит к ошибке #ЧИСЛО, вы можете помочь ей найти решение, предоставив начальное предположение:

Кроме того, вам может потребоваться настроить параметры итерации в Excel, чтобы помочь формуле сойтись. Вот шаги, которые необходимо выполнить:

  1. Щелкните меню «Файл» и выберите «Параметры».
  2. На вкладке «Формулы» в разделе «Параметры расчета» установите флажок «Включить итеративный расчет».
  3. В поле «Максимум итераций» введите количество раз, которое Excel должен выполнять перерасчет формулы. Большее количество итераций увеличивает вероятность нахождения результата, но также требует больше времени для расчета.
  4. В поле Максимальное изменение укажите величину изменения между результатами расчета. Меньшее число обеспечивает более точные результаты, но требует больше времени для расчета.

Ошибка #ЧИСЛО в функции Excel IRR

Причина: Формула IRR не может найти решение из-за проблем с несовпадением или когда денежные потоки имеют несовместимые знаки.

Решение. Настройте параметры итерации Excel, сделайте начальное предположение и убедитесь, что денежные потоки имеют соответствующие знаки.

Функция IRR в Excel вычисляет внутреннюю норму доходности для ряда денежных потоков. Однако, если денежные потоки не приводят к действительному IRR, функция возвращает #ЧИСЛО! ошибка.

Как и в случае любой другой функции итерации, ошибка #ЧИСЛО в IRR может возникнуть из-за невозможности найти результат после определенного количества итераций. Чтобы решить эту проблему, увеличьте максимальное количество итераций и/или укажите начальное предположение для скорости возврата (дополнительные сведения см. в предыдущем разделе).

Другая причина, по которой функция IRR может возвращать ошибку #ЧИСЛО, связана с несогласованными знаками в денежных потоках. Функция предполагает наличие как положительных, так и отрицательных денежных потоков. Если нет изменения знака денежных потоков, формула IRR приведет к ошибке #ЧИСЛО. Чтобы устранить эту проблему, убедитесь, что все исходящие платежи, включая первоначальные инвестиции, вводятся как отрицательные числа.

Таким образом, ошибка #ЧИСЛО в Excel является распространенной проблемой, которая может возникать по разным причинам, включая неправильные аргументы, нераспознанные числа/даты, невозможные операции и превышение пределов вычислений Excel. Надеюсь, эта статья помогла вам понять эти причины и эффективно устранить ошибку.

Я должен проверить поле цены, которое должно быть больше нуля (действителен 0,01), поэтому у меня есть следующая проверка:

$request->validate([
'product_price' => 'required|numeric|gt:0',
]);

Проблема в том, что когда я ввожу строку в поле «product_price», я получаю сообщение об ошибке:

InvalidArgumentException Сравниваемые значения должны быть
того же типа

это почему? Я имею в виду, я проверяю, что он должен быть числовым, прежде чем даже проверить, что это> 0

1

Решение

gt, gte, lt а также lte добавлены в Laravel 5.6 и более поздних версиях, я думаю, это должно быть причиной, по которой вы получите ошибку. (Это работает для меня, хотя.)

Я думаю, что вы можете попробовать так

$request->validate([
'product_price' => 'required|numeric|min:0|not_in:0',
]);

min:0 убедитесь, что минимальное значение равно 0 и отрицательные значения не допускаются. not_in:0 убедитесь, что значение не может быть 0. Итак, комбинация обоих этих правил делает свою работу.

Вы можете определить значимые сообщения об ошибках для определенного правила. (Вы можете достичь того же результата, используя регулярные выражения.)

5

Другие решения

Вы можете попробовать так,

Перед вызовом функции Validator :: make () измените набор правил, добавив значение для сравнения примерно так:

use Illuminate\Support\Facades\Validator;

Validator::extend('greater_than', function ($attribute, $value, $otherValue) {
return intval($value) > intval($otherValue[0]);
});

$validation = Validator::make($input, ['amount' => 'required|numeric|greater_than:0']);

1

Понравилась статья? Поделить с друзьями:
  • Ошибка сокета 11004 код ошибки 0x800ccc0d
  • Ошибка ф10 на котле бакси
  • Ошибка уин при оплате штрафа гибдд
  • Ошибка сокета 11002
  • Ошибка ф09 стиральная машина атлант